+
-
diff --git a/widget/src/lib/components/config/ChatOverrideForm.svelte b/widget/src/lib/components/config/ChatOverrideForm.svelte
index 2177a53..7783edc 100644
--- a/widget/src/lib/components/config/ChatOverrideForm.svelte
+++ b/widget/src/lib/components/config/ChatOverrideForm.svelte
@@ -68,6 +68,7 @@
'ignore tendency',
'random reply chance',
'response delay',
+ 'history version',
'bot names',
'reply trigger patterns',
'ignore trigger patterns',
@@ -86,6 +87,8 @@
let showPrompts = $derived(
matchesSection(
'prompts',
+ 'json-actions chat prompt',
+ 'plain-text chat prompt',
'primary chat prompt',
'low-context chat prompt',
'private chat prompt addition',
@@ -98,9 +101,9 @@
matchesSection(
'advanced',
'messages passed to ai',
+ 'reply method',
'max reply length',
'attachment byte limit',
- 'use json responses',
'include attachments in history',
),
);
@@ -266,6 +269,18 @@
hidden={!matchesBlockItem('general', 'response delay')}
bind:value={config.responseDelay}
/>
+
@@ -423,26 +438,26 @@
id="c-ai-prompt"
rows={4}
containerClass="md:col-span-2"
- label="Primary chat prompt"
- description="Core behavior and persona instructions for this chat."
+ label="JSON-actions chat prompt"
+ description="Core behavior/persona prompt used only when reply method is json_actions."
sourceState={{
overridden: isOverridden('ai.prompt'),
label: sourceStateText('ai.prompt'),
}}
- hidden={!matchesBlockItem('prompts', 'primary chat prompt')}
+ hidden={!matchesBlockItem('prompts', 'json-actions chat prompt', 'primary chat prompt')}
bind:value={config.ai.prompt}
/>
-
import SettingInputField from '$lib/components/config/fields/SettingInputField.svelte';
import SettingMatcherListField from '$lib/components/config/fields/SettingMatcherListField.svelte';
+ import SettingReactionBlacklistField from '$lib/components/config/fields/SettingReactionBlacklistField.svelte';
import SettingSelectField from '$lib/components/config/fields/SettingSelectField.svelte';
import SettingStringListField from '$lib/components/config/fields/SettingStringListField.svelte';
import SettingTextareaField from '$lib/components/config/fields/SettingTextareaField.svelte';
@@ -12,6 +13,8 @@
config: UserConfigPayload;
text: GlobalFormText;
availableModels: string[];
+ availableReactions: string[];
+ isAdmin: boolean;
searchQuery: string;
}
@@ -19,6 +22,8 @@
config = $bindable(),
text = $bindable(),
availableModels = [],
+ availableReactions = [],
+ isAdmin = false,
searchQuery = '',
}: Props = $props();
@@ -59,6 +64,10 @@
let showPrompts = $derived(
matchesSection(
'prompts',
+ 'json-actions preface prompt',
+ 'plain-text preface prompt',
+ 'json-actions chat prompt',
+ 'plain-text chat prompt',
'system preface prompt',
'primary chat prompt',
'low-context chat prompt',
@@ -67,7 +76,11 @@
'group chat prompt addition',
'comment prompt addition',
'hate mode prompt',
+ 'json-actions final prompt wrapper',
+ 'plain-text final prompt wrapper',
'final prompt wrapper',
+ 'chat actions tool description',
+ 'chat reactions tool description',
'low-context final wrapper',
'notes extraction prompt',
'memory prompt',
@@ -77,19 +90,21 @@
let showAdvanced = $derived(
matchesSection(
'advanced',
+ 'history version',
'max notes to store',
'max messages to store',
'recent messages for notes',
'recent messages for memory',
'messages passed to ai',
+ 'reply method',
'max output tokens',
+ 'notes max output tokens',
'thinking budget',
'reasoning max tokens',
'notes update frequency',
'memory update frequency',
'max reply length',
'attachment byte limit',
- 'use json responses',
'include attachments in history',
),
);
@@ -100,6 +115,7 @@
'trusted user ids',
'allowed model names',
'model selector',
+ 'blacklisted reactions',
),
);
let hasMatches = $derived(
@@ -272,38 +288,38 @@
id="g-ai-preprompt"
rows={4}
containerClass="md:col-span-2"
- label="System preface prompt"
- description="Prepended context before the main prompt."
- hidden={!matchesBlockItem('prompts', 'system preface prompt', 'preprompt')}
+ label="JSON-actions preface prompt"
+ description="Prepended context used only when reply method is json_actions."
+ hidden={!matchesBlockItem('prompts', 'json-actions preface prompt', 'system preface prompt', 'preprompt')}
bind:value={config.ai.prePrompt}
/>
+
-
+
+
@@ -441,6 +475,14 @@
hidden={!matchesBlockItem('advanced', 'max output tokens')}
bind:value={config.ai.generation.chat.maxOutputTokens}
/>
+
-
+
Admin
+ {#if isAdmin}
+
+ {/if}