@happyvertical/smrt-chat 0.57.6 → 0.57.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/AGENTS.md +2 -0
  2. package/agents/assistant-questions.md +39 -0
  3. package/dist/chunks/{chat-stream-B1qPPm8j.js → chat-stream-QjWaKuCs.js} +2 -2
  4. package/dist/chunks/{chat-stream-B1qPPm8j.js.map → chat-stream-QjWaKuCs.js.map} +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/manifest.json +1 -1
  7. package/dist/smrt-knowledge.json +11 -5
  8. package/dist/svelte/components/assistant/AssistantDock.svelte +84 -20
  9. package/dist/svelte/components/assistant/AssistantDock.svelte.d.ts.map +1 -1
  10. package/dist/svelte/components/assistant/AssistantQuestionForm.svelte +245 -0
  11. package/dist/svelte/components/assistant/AssistantQuestionForm.svelte.d.ts +17 -0
  12. package/dist/svelte/components/assistant/AssistantQuestionForm.svelte.d.ts.map +1 -0
  13. package/dist/svelte/components/assistant/assistant-question.d.ts +88 -0
  14. package/dist/svelte/components/assistant/assistant-question.d.ts.map +1 -0
  15. package/dist/svelte/components/assistant/assistant-question.js +222 -0
  16. package/dist/svelte/components/assistant/assistant-transport.d.ts +7 -1
  17. package/dist/svelte/components/assistant/assistant-transport.d.ts.map +1 -1
  18. package/dist/svelte/components/assistant/assistant-transport.js +0 -9
  19. package/dist/svelte/components/assistant/create-assistant-dock-controller.svelte.d.ts +9 -0
  20. package/dist/svelte/components/assistant/create-assistant-dock-controller.svelte.d.ts.map +1 -1
  21. package/dist/svelte/components/assistant/create-assistant-dock-controller.svelte.js +46 -0
  22. package/dist/svelte/i18n.d.ts +2 -0
  23. package/dist/svelte/i18n.d.ts.map +1 -1
  24. package/dist/svelte/i18n.js +3 -0
  25. package/dist/svelte/index.d.ts +2 -0
  26. package/dist/svelte/index.d.ts.map +1 -1
  27. package/dist/svelte/index.js +2 -0
  28. package/dist/sveltekit.js +1 -1
  29. package/package.json +17 -17
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Structured questions: an assistant turn that asks the person to choose,
3
+ * rendered as a small form instead of a prose list (#4100).
4
+ *
5
+ * The shape mirrors MCP elicitation (a prompt plus schema-driven fields) but
6
+ * keeps to what a chat can render accessibly: choice fields, single or
7
+ * multiple, with options and an optional default. A transport attaches one to
8
+ * an assistant message's `toolCallData` (alone or inside an array):
9
+ *
10
+ * ```ts
11
+ * { kind: 'assistant-question', id: 'q1', prompt: 'Group invoices by…',
12
+ * fields: [{ name: 'groupBy', label: 'Group by', type: 'choice',
13
+ * options: [{ value: 'issueDate:month', label: 'Issue date by month' }],
14
+ * default: 'issueDate:month' }] }
15
+ * ```
16
+ *
17
+ * `AssistantDock` renders it with `AssistantQuestionForm`. Submitting calls the
18
+ * transport's `answerQuestion` (the transport continues in code, no model
19
+ * round-trip) or, without one, sends the answer as an ordinary message
20
+ * (`describeAssistantQuestionAnswer`). A typed reply still works:
21
+ * `matchAssistantQuestionText` resolves free text against the options. The
22
+ * options always come from code that knows the domain, never a model's prose.
23
+ * Pure and rune-free: safe in any host.
24
+ */
25
+ export declare const ASSISTANT_QUESTION_KIND = "assistant-question";
26
+ export interface AssistantQuestionOption {
27
+ /** Stable value submitted for this option. */
28
+ value: string;
29
+ /** Short plain label. */
30
+ label: string;
31
+ /** One optional plain line under the label. */
32
+ hint?: string;
33
+ /** Extra words a typed answer may use for it ("monthly", "per month"). */
34
+ keywords?: string[];
35
+ }
36
+ export interface AssistantQuestionField {
37
+ name: string;
38
+ label: string;
39
+ type: 'choice';
40
+ options: AssistantQuestionOption[];
41
+ /** Several options may be chosen (checkboxes). */
42
+ multiple?: boolean;
43
+ /** Preselected value(s); must be option values. */
44
+ default?: string | string[];
45
+ required?: boolean;
46
+ }
47
+ /** Submitted values by field name. */
48
+ export type AssistantQuestionAnswer = Record<string, string | string[]>;
49
+ export interface AssistantQuestion {
50
+ kind: typeof ASSISTANT_QUESTION_KIND;
51
+ /** Stable within the conversation. */
52
+ id: string;
53
+ /** The question, used as the form's legend. */
54
+ prompt: string;
55
+ fields: AssistantQuestionField[];
56
+ submitLabel?: string;
57
+ /** Present once answered: the form renders as a read-only summary. */
58
+ answer?: AssistantQuestionAnswer;
59
+ }
60
+ /** Input to `AssistantTransport.answerQuestion`. */
61
+ export interface AssistantAnswerQuestionInput {
62
+ threadId: string;
63
+ /** The assistant message the question rode on. */
64
+ messageId: string;
65
+ questionId: string;
66
+ values: AssistantQuestionAnswer;
67
+ clientRequestId: string;
68
+ }
69
+ /** Validate untrusted question data; null when it is not a usable question. */
70
+ export declare function parseAssistantQuestion(value: unknown): AssistantQuestion | null;
71
+ /** The question a message carries in `toolCallData` (alone or in an array). */
72
+ export declare function assistantQuestionFromMessage(message: {
73
+ toolCallData?: unknown;
74
+ }): AssistantQuestion | null;
75
+ /** Each field's default (the first option for a required single choice). */
76
+ export declare function assistantQuestionDefaults(question: AssistantQuestion): AssistantQuestionAnswer;
77
+ /** Keep only known fields and option values; null when nothing is left. */
78
+ export declare function validateAssistantQuestionAnswer(question: AssistantQuestion, values: unknown): AssistantQuestionAnswer | null;
79
+ /** "Group by: Issue date by month" — the answer as one plain line. */
80
+ export declare function describeAssistantQuestionAnswer(question: AssistantQuestion, values: AssistantQuestionAnswer): string;
81
+ /**
82
+ * Resolve a typed reply against the options: per field, the option sharing
83
+ * the most words with the reply (label, value, hint, keywords; plurals and
84
+ * filler words ignored), the earlier option on a tie, so a ranked list's
85
+ * best guess wins. Null when the reply matches no option of any field.
86
+ */
87
+ export declare function matchAssistantQuestionText(question: AssistantQuestion, reply: string): AssistantQuestionAnswer | null;
88
+ //# sourceMappingURL=assistant-question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-question.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/assistant/assistant-question.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAO5D,MAAM,WAAW,uBAAuB;IACtC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sCAAsC;AACtC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,uBAAuB,CAAC;IACrC,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,oDAAoD;AACpD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;CACzB;AAqDD,+EAA+E;AAC/E,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,iBAAiB,GAAG,IAAI,CAqB1B;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,iBAAiB,GAAG,IAAI,CAQ3B;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,GAC1B,uBAAuB,CASzB;AAED,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,OAAO,GACd,uBAAuB,GAAG,IAAI,CAgBhC;AAED,sEAAsE;AACtE,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,uBAAuB,GAC9B,MAAM,CAWR;AAoCD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,MAAM,GACZ,uBAAuB,GAAG,IAAI,CA0BhC"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Structured questions: an assistant turn that asks the person to choose,
3
+ * rendered as a small form instead of a prose list (#4100).
4
+ *
5
+ * The shape mirrors MCP elicitation (a prompt plus schema-driven fields) but
6
+ * keeps to what a chat can render accessibly: choice fields, single or
7
+ * multiple, with options and an optional default. A transport attaches one to
8
+ * an assistant message's `toolCallData` (alone or inside an array):
9
+ *
10
+ * ```ts
11
+ * { kind: 'assistant-question', id: 'q1', prompt: 'Group invoices by…',
12
+ * fields: [{ name: 'groupBy', label: 'Group by', type: 'choice',
13
+ * options: [{ value: 'issueDate:month', label: 'Issue date by month' }],
14
+ * default: 'issueDate:month' }] }
15
+ * ```
16
+ *
17
+ * `AssistantDock` renders it with `AssistantQuestionForm`. Submitting calls the
18
+ * transport's `answerQuestion` (the transport continues in code, no model
19
+ * round-trip) or, without one, sends the answer as an ordinary message
20
+ * (`describeAssistantQuestionAnswer`). A typed reply still works:
21
+ * `matchAssistantQuestionText` resolves free text against the options. The
22
+ * options always come from code that knows the domain, never a model's prose.
23
+ * Pure and rune-free: safe in any host.
24
+ */
25
+ export const ASSISTANT_QUESTION_KIND = 'assistant-question';
26
+ const MAX_FIELDS = 6;
27
+ const MAX_OPTIONS = 50;
28
+ const MAX_TEXT = 200;
29
+ const MAX_KEYWORDS = 12;
30
+ const text = (value, max = MAX_TEXT) => typeof value === 'string' && value.trim() && value.trim().length <= max
31
+ ? value.trim()
32
+ : undefined;
33
+ function parseOption(value) {
34
+ if (!value || typeof value !== 'object')
35
+ return null;
36
+ const raw = value;
37
+ const optionValue = text(raw.value);
38
+ const label = text(raw.label);
39
+ if (!optionValue || !label)
40
+ return null;
41
+ const hint = text(raw.hint);
42
+ const keywords = Array.isArray(raw.keywords)
43
+ ? raw.keywords.flatMap((k) => text(k, 60) ?? []).slice(0, MAX_KEYWORDS)
44
+ : [];
45
+ return {
46
+ value: optionValue,
47
+ label,
48
+ ...(hint ? { hint } : {}),
49
+ ...(keywords.length ? { keywords } : {}),
50
+ };
51
+ }
52
+ function parseField(value) {
53
+ if (!value || typeof value !== 'object')
54
+ return null;
55
+ const raw = value;
56
+ const name = text(raw.name, 64);
57
+ const label = text(raw.label);
58
+ if (!name || !label || raw.type !== 'choice' || !Array.isArray(raw.options)) {
59
+ return null;
60
+ }
61
+ const options = raw.options
62
+ .slice(0, MAX_OPTIONS)
63
+ .flatMap((o) => parseOption(o) ?? []);
64
+ const values = new Set(options.map((o) => o.value));
65
+ if (options.length === 0 || values.size !== options.length)
66
+ return null;
67
+ const multiple = raw.multiple === true;
68
+ const defaults = (Array.isArray(raw.default) ? raw.default : [raw.default]).filter((v) => typeof v === 'string' && values.has(v));
69
+ return {
70
+ name,
71
+ label,
72
+ type: 'choice',
73
+ options,
74
+ ...(multiple ? { multiple } : {}),
75
+ ...(defaults.length ? { default: multiple ? defaults : defaults[0] } : {}),
76
+ ...(raw.required === true ? { required: true } : {}),
77
+ };
78
+ }
79
+ /** Validate untrusted question data; null when it is not a usable question. */
80
+ export function parseAssistantQuestion(value) {
81
+ if (!value || typeof value !== 'object')
82
+ return null;
83
+ const raw = value;
84
+ if (raw.kind !== ASSISTANT_QUESTION_KIND)
85
+ return null;
86
+ const id = text(raw.id, 120);
87
+ const prompt = text(raw.prompt, 500);
88
+ if (!id || !prompt || !Array.isArray(raw.fields))
89
+ return null;
90
+ const fields = raw.fields
91
+ .slice(0, MAX_FIELDS)
92
+ .flatMap((f) => parseField(f) ?? []);
93
+ if (fields.length === 0)
94
+ return null;
95
+ const submitLabel = text(raw.submitLabel, 60);
96
+ const question = {
97
+ kind: ASSISTANT_QUESTION_KIND,
98
+ id,
99
+ prompt,
100
+ fields,
101
+ ...(submitLabel ? { submitLabel } : {}),
102
+ };
103
+ const answer = validateAssistantQuestionAnswer(question, raw.answer);
104
+ return answer ? { ...question, answer } : question;
105
+ }
106
+ /** The question a message carries in `toolCallData` (alone or in an array). */
107
+ export function assistantQuestionFromMessage(message) {
108
+ const data = message.toolCallData;
109
+ const items = Array.isArray(data) ? data : [data];
110
+ for (const item of items) {
111
+ const question = parseAssistantQuestion(item);
112
+ if (question)
113
+ return question;
114
+ }
115
+ return null;
116
+ }
117
+ /** Each field's default (the first option for a required single choice). */
118
+ export function assistantQuestionDefaults(question) {
119
+ const out = {};
120
+ for (const field of question.fields) {
121
+ if (field.default !== undefined)
122
+ out[field.name] = field.default;
123
+ else if (!field.multiple && field.required) {
124
+ out[field.name] = field.options[0].value;
125
+ }
126
+ }
127
+ return out;
128
+ }
129
+ /** Keep only known fields and option values; null when nothing is left. */
130
+ export function validateAssistantQuestionAnswer(question, values) {
131
+ if (!values || typeof values !== 'object' || Array.isArray(values)) {
132
+ return null;
133
+ }
134
+ const raw = values;
135
+ const out = {};
136
+ for (const field of question.fields) {
137
+ const allowed = new Set(field.options.map((o) => o.value));
138
+ const given = raw[field.name];
139
+ const picked = (Array.isArray(given) ? given : [given]).filter((v) => typeof v === 'string' && allowed.has(v));
140
+ if (picked.length === 0)
141
+ continue;
142
+ out[field.name] = field.multiple ? [...new Set(picked)] : picked[0];
143
+ }
144
+ return Object.keys(out).length ? out : null;
145
+ }
146
+ /** "Group by: Issue date by month" — the answer as one plain line. */
147
+ export function describeAssistantQuestionAnswer(question, values) {
148
+ return question.fields
149
+ .flatMap((field) => {
150
+ const chosen = values[field.name];
151
+ if (chosen === undefined)
152
+ return [];
153
+ const labels = (Array.isArray(chosen) ? chosen : [chosen]).map((v) => field.options.find((o) => o.value === v)?.label ?? v);
154
+ return labels.length ? [`${field.label}: ${labels.join(', ')}`] : [];
155
+ })
156
+ .join('; ');
157
+ }
158
+ const STOP_WORDS = new Set([
159
+ 'a',
160
+ 'an',
161
+ 'and',
162
+ 'the',
163
+ 'by',
164
+ 'per',
165
+ 'of',
166
+ 'in',
167
+ 'on',
168
+ 'for',
169
+ 'to',
170
+ 'with',
171
+ 'please',
172
+ 'use',
173
+ 'i',
174
+ 'want',
175
+ 'it',
176
+ 'its',
177
+ 'group',
178
+ 'grouped',
179
+ 'show',
180
+ 'me',
181
+ ]);
182
+ function words(value) {
183
+ return value
184
+ .toLowerCase()
185
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
186
+ .split(/[^a-z0-9]+/)
187
+ .filter((w) => w && !STOP_WORDS.has(w))
188
+ .map((w) => (w.length > 3 && w.endsWith('s') ? w.slice(0, -1) : w));
189
+ }
190
+ /**
191
+ * Resolve a typed reply against the options: per field, the option sharing
192
+ * the most words with the reply (label, value, hint, keywords; plurals and
193
+ * filler words ignored), the earlier option on a tie, so a ranked list's
194
+ * best guess wins. Null when the reply matches no option of any field.
195
+ */
196
+ export function matchAssistantQuestionText(question, reply) {
197
+ const said = new Set(words(reply));
198
+ if (said.size === 0)
199
+ return null;
200
+ const out = {};
201
+ for (const field of question.fields) {
202
+ let best = null;
203
+ for (const option of field.options) {
204
+ const vocabulary = new Set(words([
205
+ option.label,
206
+ option.value,
207
+ option.hint ?? '',
208
+ ...(option.keywords ?? []),
209
+ ].join(' ')));
210
+ let score = 0;
211
+ for (const word of said)
212
+ if (vocabulary.has(word))
213
+ score += 1;
214
+ if (score > 0 && (!best || score > best.score)) {
215
+ best = { value: option.value, score };
216
+ }
217
+ }
218
+ if (best)
219
+ out[field.name] = field.multiple ? [best.value] : best.value;
220
+ }
221
+ return Object.keys(out).length ? out : null;
222
+ }
@@ -28,6 +28,7 @@
28
28
  * rather than silently faked. See the "smrt-generated-REST-backed
29
29
  * transport" section below for the full read wire contract.
30
30
  */
31
+ import { type AssistantClientToolCall, type AssistantClientToolDeclaration, type AssistantClientToolResult, type AssistantTurnEvent } from '../../../assistant-turn-events.js';
31
32
  /**
32
33
  * AssistantDock uses its own light thread/message shapes rather than the
33
34
  * room-based `ChatThreadData`/`ChatMessageData` (`../types.js`): those UI
@@ -37,7 +38,7 @@
37
38
  * intentionally line up with `ChatThreadData`/`ChatMessageData` so a future
38
39
  * adapter between the two is a narrow mapping, not a rewrite.
39
40
  */
40
- import { type AssistantClientToolCall, type AssistantClientToolDeclaration, type AssistantClientToolResult, type AssistantTurnEvent } from '../../../assistant-turn-events.js';
41
+ import type { AssistantAnswerQuestionInput } from './assistant-question.js';
41
42
  export interface AssistantThreadSummary {
42
43
  id: string;
43
44
  title: string;
@@ -142,6 +143,11 @@ export interface AssistantTransport {
142
143
  /** Resume a turn suspended on browser tool calls (#2908). Required for a
143
144
  * transport that ever returns `clientToolCalls`. */
144
145
  resumeTurn?(input: AssistantResumeTurnInput): Promise<AssistantSendMessageResult>;
146
+ /** Answer a structured question an assistant message carried
147
+ * (`./assistant-question.ts`) with the values from its form. The transport
148
+ * continues the turn in code, typically with no model round-trip. Omitted,
149
+ * `AssistantDock` sends the answer as an ordinary message instead. */
150
+ answerQuestion?(input: AssistantAnswerQuestionInput): Promise<AssistantSendMessageResult>;
145
151
  }
146
152
  /** A transport that exposes every optional conversation capability. */
147
153
  export type FullAssistantTransport = AssistantTransport & Required<Pick<AssistantTransport, 'createThread' | 'uploadAttachment'>>;
@@ -1 +1 @@
1
- {"version":3,"file":"assistant-transport.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/assistant/assistant-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;;;;GAQG;AACH,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAExB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;qEAKiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;qEACqE;AACrE,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AAE3E;oEACoE;AACpE,MAAM,WAAW,wBAAwB;IACvC;6DACyD;IACzD,WAAW,CAAC,EAAE,8BAA8B,EAAE,CAAC;IAC/C,2EAA2E;IAC3E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACnD,yCAAyC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,yBAA0B,SAAQ,wBAAwB;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC;6EACyE;IACzE,eAAe,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wEAAwE;AACxE,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC;;uCAEmC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;oCACgC;IAChC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B;sCACkC;IAClC,eAAe,CAAC,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,uBAAuB,EAAE,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACjD;iEAC6D;IAC7D,YAAY,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC9D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC5D,WAAW,CACT,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvC,yEAAyE;IACzE,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/D;;;mCAG+B;IAC/B,UAAU,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACtC;wDACoD;IACpD,UAAU,CAAC,CACT,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACxC;AAED,uEAAuE;AACvE,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GACrD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC;AAM1E,MAAM,WAAW,iCAAiC;IAChD;gFAC4E;IAC5E,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;yBASqB;IACrB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,gBAAgB,EAC7B,KAAK,CAAC,EAAE,MAAM,KACX,gBAAgB,GAAG,IAAI,CAAC;IAC7B;;iBAEa;IACb,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,iCAAsC,GAC9C,sBAAsB,CA6JxB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAErC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA0DD;;+BAE+B;AAC/B,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,0BAA0B,GAC9B,sBAAsB,CAQxB;AAED;;;sBAGsB;AACtB,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,oBAAoB,GACxB,gBAAgB,CAWlB;AAOD;;;;4EAI4E;AAC5E,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,EAAE,CAIpB;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;;;;;sEAOkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd;;;;+CAI2C;IAC3C,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAClE,WAAW,EAAE,CACX,KAAK,EAAE,yBAAyB,KAC7B,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACzC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACnE;8CACsC;QACtC,UAAU,CAAC,EAAE,CACX,KAAK,EAAE,wBAAwB,KAC5B,OAAO,CAAC,0BAA0B,CAAC,CAAC;KAC1C,CAAC;IACF;;6EAEyE;IACzE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,kBAAkB,CA2DpB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IACP,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,gBAAgB,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;CACpD,GACA,OAAO,CAAC,0BAA0B,CAAC,CAsCrC"}
1
+ {"version":3,"file":"assistant-transport.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/assistant/assistant-transport.ts"],"names":[],"mappings":"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"}
@@ -28,15 +28,6 @@
28
28
  * rather than silently faked. See the "smrt-generated-REST-backed
29
29
  * transport" section below for the full read wire contract.
30
30
  */
31
- /**
32
- * AssistantDock uses its own light thread/message shapes rather than the
33
- * room-based `ChatThreadData`/`ChatMessageData` (`../types.js`): those UI
34
- * types require room-scoped fields (e.g. `ChatThreadData.rootMessage`,
35
- * `ChatMessageData.senderName`/`reactions`) that don't apply to a
36
- * tenant-scoped, route-agnostic assistant thread. Field names below
37
- * intentionally line up with `ChatThreadData`/`ChatMessageData` so a future
38
- * adapter between the two is a narrow mapping, not a rewrite.
39
- */
40
31
  import { readAssistantTurnStream, } from '../../../assistant-turn-events.js';
41
32
  export function createInMemoryAssistantTransport(options = {}) {
42
33
  const now = options.now ?? (() => Date.now());
@@ -39,6 +39,7 @@
39
39
  import { type DataSurfaceActionRequest, type DataSurfaceActionResult, type DataSurfaceIdentity, type DataSurfaceRegistry } from '@happyvertical/smrt-ui/data-surface';
40
40
  import type { AssistantStatus, AssistantTurnStep } from '../../../assistant-turn-events.js';
41
41
  import { type AssistantChoiceSet, type AssistantChoiceSourceRegistry } from './assistant-choices.svelte.js';
42
+ import { type AssistantQuestion, type AssistantQuestionAnswer } from './assistant-question.js';
42
43
  import type { AssistantAttachmentRef, AssistantMessage, AssistantThreadSummary, AssistantTransport, ModelOption } from './assistant-transport.js';
43
44
  import { type AssistantClientTool, type AssistantClientToolPolicy, type AssistantClientToolSource, type AssistantToolRequest } from './client-tools.js';
44
45
  export type AssistantPendingSendStatus = 'sending' | 'processing' | 'stale' | 'failed';
@@ -375,6 +376,14 @@ export interface AssistantDockController {
375
376
  createThread(title: string): Promise<AssistantThreadSummary>;
376
377
  send(content: string, attachments?: AssistantAttachmentRef[]): Promise<void>;
377
378
  retry(clientRequestId: string): Promise<void>;
379
+ /** Answers recorded for structured questions, by `<messageId>:<questionId>`. */
380
+ readonly answeredQuestions: Readonly<Record<string, AssistantQuestionAnswer>>;
381
+ /**
382
+ * Answer a structured question on `messageId` with its form's values: the
383
+ * transport's `answerQuestion` when it has one (the turn continues in code),
384
+ * else the answer goes out as an ordinary message. Answers once.
385
+ */
386
+ answerQuestion(messageId: string, question: AssistantQuestion, values: AssistantQuestionAnswer): Promise<void>;
378
387
  previewAction(request: DataSurfaceActionRequest): Promise<void>;
379
388
  /** Applies the action using the idempotency key minted at preview time
380
389
  * (`AssistantActionState.idempotencyKey`) — never a fresh key per call. */
@@ -1 +1 @@
1
- {"version":3,"file":"create-assistant-dock-controller.svelte.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/assistant/create-assistant-dock-controller.svelte.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-assistant-dock-controller.svelte.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/assistant/create-assistant-dock-controller.svelte.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ import { normalizeDataSurfaceActionRequest, whenSurfaceNavigationSettled, } from
40
40
  import { untrack } from 'svelte';
41
41
  import { SvelteMap } from 'svelte/reactivity';
42
42
  import { AssistantChoices, } from './assistant-choices.svelte.js';
43
+ import { describeAssistantQuestionAnswer, validateAssistantQuestionAnswer, } from './assistant-question.js';
43
44
  import { ASSISTANT_PROPOSE_ACTION_TOOL, declareClientTools, resolveClientToolPolicy, } from './client-tools.js';
44
45
  /** `DataSurfaceActionResult.reason` values that mean an apply reached no
45
46
  * decision (#2990). An `AssistantActionClient` reports "no decision" by
@@ -83,6 +84,7 @@ export function createAssistantDockController(options) {
83
84
  let threadsLoading = $state(true);
84
85
  let activeThreadId = $state(null);
85
86
  let messages = $state([]);
87
+ let answeredQuestions = $state({});
86
88
  let pendingSends = $state([]);
87
89
  let surfaces = $state(options.surfaces ?? []);
88
90
  let models = $state([]);
@@ -466,6 +468,7 @@ export function createAssistantDockController(options) {
466
468
  threadsLoading = true;
467
469
  activeThreadId = null;
468
470
  messages = [];
471
+ answeredQuestions = {};
469
472
  pendingSends = [];
470
473
  actions.clear();
471
474
  choices.clear();
@@ -1365,6 +1368,45 @@ export function createAssistantDockController(options) {
1365
1368
  });
1366
1369
  })
1367
1370
  : null;
1371
+ async function answerQuestion(messageId, question, values) {
1372
+ if (!activeThreadId) {
1373
+ throw new Error('AssistantDock: answerQuestion() called with no active thread');
1374
+ }
1375
+ const key = `${messageId}:${question.id}`;
1376
+ const chosen = validateAssistantQuestionAnswer(question, values);
1377
+ if (!chosen || answeredQuestions[key])
1378
+ return;
1379
+ const threadId = activeThreadId;
1380
+ const epoch = contextEpoch;
1381
+ answeredQuestions = { ...answeredQuestions, [key]: chosen };
1382
+ const answer = options.transport.answerQuestion;
1383
+ if (!answer) {
1384
+ await send(describeAssistantQuestionAnswer(question, chosen));
1385
+ return;
1386
+ }
1387
+ try {
1388
+ const result = await answer.call(options.transport, {
1389
+ threadId,
1390
+ messageId,
1391
+ questionId: question.id,
1392
+ values: chosen,
1393
+ clientRequestId: options.createClientRequestId?.() ?? defaultClientRequestId(threadId),
1394
+ });
1395
+ if (!disposed && epoch === contextEpoch) {
1396
+ mergeResultMessages(threadId, result);
1397
+ error = null;
1398
+ }
1399
+ }
1400
+ catch (err) {
1401
+ if (!disposed && epoch === contextEpoch) {
1402
+ // The person may answer again after a failure.
1403
+ const { [key]: _failed, ...rest } = answeredQuestions;
1404
+ answeredQuestions = rest;
1405
+ error = err instanceof Error ? err.message : String(err);
1406
+ }
1407
+ throw err;
1408
+ }
1409
+ }
1368
1410
  async function send(content, attachments) {
1369
1411
  if (!activeThreadId) {
1370
1412
  throw new Error('AssistantDock: send() called with no active thread');
@@ -1856,6 +1898,10 @@ export function createAssistantDockController(options) {
1856
1898
  createThread,
1857
1899
  send,
1858
1900
  retry,
1901
+ get answeredQuestions() {
1902
+ return answeredQuestions;
1903
+ },
1904
+ answerQuestion,
1859
1905
  previewAction,
1860
1906
  applyAction,
1861
1907
  rejectAction,
@@ -52,6 +52,8 @@ export declare const M: {
52
52
  readonly 'chat.assistant_dock.choose_conversation': "chat.assistant_dock.choose_conversation";
53
53
  readonly 'chat.assistant_dock.choose_conversation_hint': "chat.assistant_dock.choose_conversation_hint";
54
54
  readonly 'chat.assistant_dock.view_conversations': "chat.assistant_dock.view_conversations";
55
+ readonly 'chat.assistant_question.submit': "chat.assistant_question.submit";
56
+ readonly 'chat.assistant_question.choose': "chat.assistant_question.choose";
55
57
  readonly 'chat.assistant_dock.start_conversation': "chat.assistant_dock.start_conversation";
56
58
  readonly 'chat.assistant_dock.start_conversation_hint': "chat.assistant_dock.start_conversation_hint";
57
59
  readonly 'chat.assistant_dock.start_new_conversation': "chat.assistant_dock.start_new_conversation";
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/svelte/i18n.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKZ,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/svelte/i18n.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoKZ,CAAC"}
@@ -75,6 +75,9 @@ export const M = defineMessages({
75
75
  'chat.assistant_dock.choose_conversation': 'Choose a conversation',
76
76
  'chat.assistant_dock.choose_conversation_hint': 'Select a conversation to start chatting with the assistant.',
77
77
  'chat.assistant_dock.view_conversations': 'View conversations',
78
+ // AssistantQuestionForm
79
+ 'chat.assistant_question.submit': 'Continue',
80
+ 'chat.assistant_question.choose': 'Choose…',
78
81
  'chat.assistant_dock.start_conversation': 'Start a conversation',
79
82
  'chat.assistant_dock.start_conversation_hint': 'Create a conversation to start chatting with the assistant.',
80
83
  'chat.assistant_dock.start_new_conversation': 'Create conversation',
@@ -26,9 +26,11 @@ export { default as ToolCallDisplay } from './components/agent/ToolCallDisplay.s
26
26
  export { default as AssistantChoiceCards } from './components/assistant/AssistantChoiceCards.svelte';
27
27
  export { default as AssistantComposer } from './components/assistant/AssistantComposer.svelte';
28
28
  export { default as AssistantDock } from './components/assistant/AssistantDock.svelte';
29
+ export { default as AssistantQuestionForm } from './components/assistant/AssistantQuestionForm.svelte';
29
30
  export { default as AssistantThreadList } from './components/assistant/AssistantThreadList.svelte';
30
31
  export { ASSISTANT_CHOICE_MAX_OPTIONS, ASSISTANT_CHOICE_TOOL_PREFIX, type AssistantChoiceOffer, type AssistantChoiceOption, type AssistantChoicePending, type AssistantChoicePendingUpdate, type AssistantChoiceSet, type AssistantChoiceSource, type AssistantChoiceSourceRegistry, AssistantChoices, choiceToolName, createAssistantChoiceSourceRegistry, normalizeChoiceOptions, safeChoiceImageUrl, } from './components/assistant/assistant-choices.svelte.js';
31
32
  export { type AssistantHttpActionClientOptions, AssistantHttpError, type AssistantHttpOptions, type AssistantHttpTransportOptions, createAssistantHttpActionClient, createAssistantHttpTransport, } from './components/assistant/assistant-http-client.js';
33
+ export { ASSISTANT_QUESTION_KIND, type AssistantAnswerQuestionInput, type AssistantQuestion, type AssistantQuestionAnswer, type AssistantQuestionField, type AssistantQuestionOption, assistantQuestionDefaults, assistantQuestionFromMessage, describeAssistantQuestionAnswer, matchAssistantQuestionText, parseAssistantQuestion, validateAssistantQuestionAnswer, } from './components/assistant/assistant-question.js';
32
34
  export { type AssistantAttachmentRef, type AssistantMessage, type AssistantResumeTurnInput, type AssistantSendMessageInput, type AssistantSendMessageResult, type AssistantThreadSummary, type AssistantTransport, type AssistantTransportEvent, type AssistantTurnStreamInput, createInMemoryAssistantTransport, createSmrtAssistantTransport, type FullAssistantTransport, type InMemoryAssistantTransportOptions, readAssistantTurnResult, type SmrtAssistantTransportOptions, } from './components/assistant/assistant-transport.js';
33
35
  export { default as CaptionOverlay } from './components/assistant/captions/CaptionOverlay.svelte';
34
36
  export { type CaptionChannel, type CaptionChannelOptions, type CaptionLine, type CaptionTTSAdapter, createCaptionChannel, createHeardCaptionCallbacks, createSpokenCaptionCallbacks, createSpokenCaptionSession, type SpokenCaptionCallbacks, type SpokenCaptionSession, } from './components/assistant/captions/caption-state.svelte.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svelte/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svelte/index.ts"],"names":[],"mappings":"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"}
@@ -71,11 +71,13 @@ export { default as ToolCallDisplay } from './components/agent/ToolCallDisplay.s
71
71
  export { default as AssistantChoiceCards } from './components/assistant/AssistantChoiceCards.svelte';
72
72
  export { default as AssistantComposer } from './components/assistant/AssistantComposer.svelte';
73
73
  export { default as AssistantDock } from './components/assistant/AssistantDock.svelte';
74
+ export { default as AssistantQuestionForm } from './components/assistant/AssistantQuestionForm.svelte';
74
75
  export { default as AssistantThreadList } from './components/assistant/AssistantThreadList.svelte';
75
76
  export { ASSISTANT_CHOICE_MAX_OPTIONS, ASSISTANT_CHOICE_TOOL_PREFIX, AssistantChoices, choiceToolName, createAssistantChoiceSourceRegistry, normalizeChoiceOptions, safeChoiceImageUrl, } from './components/assistant/assistant-choices.svelte.js';
76
77
  // HTTP client half of `@happyvertical/smrt-chat/sveltekit`'s
77
78
  // `mountAssistantRoutes` (#3368).
78
79
  export { AssistantHttpError, createAssistantHttpActionClient, createAssistantHttpTransport, } from './components/assistant/assistant-http-client.js';
80
+ export { ASSISTANT_QUESTION_KIND, assistantQuestionDefaults, assistantQuestionFromMessage, describeAssistantQuestionAnswer, matchAssistantQuestionText, parseAssistantQuestion, validateAssistantQuestionAnswer, } from './components/assistant/assistant-question.js';
79
81
  export { createInMemoryAssistantTransport, createSmrtAssistantTransport, readAssistantTurnResult, } from './components/assistant/assistant-transport.js';
80
82
  export { default as CaptionOverlay } from './components/assistant/captions/CaptionOverlay.svelte';
81
83
  export { createCaptionChannel, createHeardCaptionCallbacks, createSpokenCaptionCallbacks, createSpokenCaptionSession, } from './components/assistant/captions/caption-state.svelte.js';
package/dist/sveltekit.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { i as clientRequestMessageId, n as ChatService, t as ChatClientRequestConflictError } from "./chunks/ChatService-DjGf2AoJ.js";
2
- import { D as runAssistantTurn, E as createSessionContinuationStore, P as buildManifestToolCatalog, j as MAX_CLIENT_TOOL_RESULT_CHARS, v as ASSISTANT_TURN_GENERIC_ERROR, w as createAssistantTurnResponse, z as sanitizeClientToolDeclarations } from "./chunks/chat-stream-B1qPPm8j.js";
2
+ import { D as runAssistantTurn, E as createSessionContinuationStore, P as buildManifestToolCatalog, j as MAX_CLIENT_TOOL_RESULT_CHARS, v as ASSISTANT_TURN_GENERIC_ERROR, w as createAssistantTurnResponse, z as sanitizeClientToolDeclarations } from "./chunks/chat-stream-QjWaKuCs.js";
3
3
  import { getCurrentSessionPermissionContext, getRequestScopedDatabase } from "@happyvertical/smrt-users";
4
4
  import { getConfig, loadConfig, resolveConfiguredAIProvider, toAIClientOptions } from "@happyvertical/smrt-config";
5
5
  //#region src/sveltekit.ts