@happyvertical/smrt-chat 0.57.5 → 0.57.7
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.
- package/AGENTS.md +2 -0
- package/agents/assistant-questions.md +39 -0
- package/dist/chunks/{chat-stream-CXS-F9In.js → chat-stream-CfZelFch.js} +2 -2
- package/dist/chunks/{chat-stream-CXS-F9In.js.map → chat-stream-CfZelFch.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/smrt-knowledge.json +11 -5
- package/dist/svelte/components/assistant/AssistantDock.svelte +84 -20
- package/dist/svelte/components/assistant/AssistantDock.svelte.d.ts.map +1 -1
- package/dist/svelte/components/assistant/AssistantQuestionForm.svelte +245 -0
- package/dist/svelte/components/assistant/AssistantQuestionForm.svelte.d.ts +17 -0
- package/dist/svelte/components/assistant/AssistantQuestionForm.svelte.d.ts.map +1 -0
- package/dist/svelte/components/assistant/assistant-question.d.ts +88 -0
- package/dist/svelte/components/assistant/assistant-question.d.ts.map +1 -0
- package/dist/svelte/components/assistant/assistant-question.js +222 -0
- package/dist/svelte/components/assistant/assistant-transport.d.ts +7 -1
- package/dist/svelte/components/assistant/assistant-transport.d.ts.map +1 -1
- package/dist/svelte/components/assistant/assistant-transport.js +0 -9
- package/dist/svelte/components/assistant/create-assistant-dock-controller.svelte.d.ts +9 -0
- package/dist/svelte/components/assistant/create-assistant-dock-controller.svelte.d.ts.map +1 -1
- package/dist/svelte/components/assistant/create-assistant-dock-controller.svelte.js +46 -0
- package/dist/svelte/i18n.d.ts +2 -0
- package/dist/svelte/i18n.d.ts.map +1 -1
- package/dist/svelte/i18n.js +3 -0
- package/dist/svelte/index.d.ts +2 -0
- package/dist/svelte/index.d.ts.map +1 -1
- package/dist/svelte/index.js +2 -0
- package/dist/sveltekit.js +1 -1
- 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
|
|
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
|
|
1
|
+
{"version":3,"file":"assistant-transport.d.ts","sourceRoot":"","sources":["../../../../src/svelte/components/assistant/assistant-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EAExB,MAAM,mCAAmC,CAAC;AAC3C;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAE5E,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;IACvC;;;0EAGsE;IACtE,cAAc,CAAC,CACb,KAAK,EAAE,4BAA4B,GAClC,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"}
|
|
@@ -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,
|
package/dist/svelte/i18n.d.ts
CHANGED
|
@@ -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
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/svelte/i18n.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoKZ,CAAC"}
|
package/dist/svelte/i18n.js
CHANGED
|
@@ -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',
|
package/dist/svelte/index.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/svelte/index.js
CHANGED
|
@@ -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-
|
|
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-CfZelFch.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
|