@assistant-ui/react 0.5.63 → 0.5.66
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{chunk-J2V7Y7JX.js → chunk-5KIEXJRK.js} +2 -4
- package/dist/chunk-5KIEXJRK.js.map +1 -0
- package/dist/{chunk-DCHYNTHI.js → chunk-PZ5AY32C.js} +2 -3
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/index.d.mts +346 -297
- package/dist/index.d.ts +346 -297
- package/dist/index.js +362 -463
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +470 -570
- package/dist/index.mjs.map +1 -1
- package/dist/tailwindcss/index.js +1 -2
- package/dist/tailwindcss/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-DCHYNTHI.js.map +0 -1
- package/dist/chunk-J2V7Y7JX.js.map +0 -1
package/dist/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10; var _class11; var _class12; var _class13;
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10; var _class11; var _class12; var _class13;
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -9,18 +9,14 @@
|
|
9
9
|
|
10
10
|
|
11
11
|
|
12
|
+
var _chunk5KIEXJRKjs = require('./chunk-5KIEXJRK.js');
|
12
13
|
|
13
|
-
var _chunkJ2V7Y7JXjs = require('./chunk-J2V7Y7JX.js');
|
14
14
|
|
15
|
-
|
16
|
-
var _chunkDCHYNTHIjs = require('./chunk-DCHYNTHI.js');
|
15
|
+
var _chunkPZ5AY32Cjs = require('./chunk-PZ5AY32C.js');
|
17
16
|
|
18
17
|
// src/context/providers/AssistantRuntimeProvider.tsx
|
19
18
|
var _react = require('react');
|
20
19
|
|
21
|
-
// src/context/providers/AssistantProvider.tsx
|
22
|
-
|
23
|
-
|
24
20
|
// src/context/react/AssistantContext.ts
|
25
21
|
|
26
22
|
|
@@ -122,7 +118,7 @@ var makeAssistantToolUIsStore = () => _zustand.create.call(void 0, (set) => {
|
|
122
118
|
});
|
123
119
|
});
|
124
120
|
|
125
|
-
// src/context/providers/
|
121
|
+
// src/context/providers/ThreadRuntimeProvider.tsx
|
126
122
|
|
127
123
|
|
128
124
|
// src/context/react/ThreadContext.ts
|
@@ -160,10 +156,9 @@ var {
|
|
160
156
|
|
161
157
|
// src/context/stores/ThreadComposer.ts
|
162
158
|
|
163
|
-
var makeThreadComposerStore = (
|
159
|
+
var makeThreadComposerStore = (runtime) => {
|
164
160
|
const focusListeners = /* @__PURE__ */ new Set();
|
165
161
|
return _zustand.create.call(void 0, )((_, get) => {
|
166
|
-
const runtime = useThreadRuntime2.getState();
|
167
162
|
return {
|
168
163
|
type: "thread",
|
169
164
|
get value() {
|
@@ -172,30 +167,27 @@ var makeThreadComposerStore = (useThreadRuntime2) => {
|
|
172
167
|
setValue(value) {
|
173
168
|
get().setText(value);
|
174
169
|
},
|
175
|
-
|
176
|
-
|
170
|
+
...runtime.getState(),
|
171
|
+
canCancel: false,
|
172
|
+
// "TODO",
|
173
|
+
isEditing: true,
|
177
174
|
addAttachment: (file) => {
|
178
|
-
|
175
|
+
runtime.addAttachment(file);
|
179
176
|
},
|
180
177
|
removeAttachment: (attachmentId) => {
|
181
|
-
|
178
|
+
runtime.removeAttachment(attachmentId);
|
182
179
|
},
|
183
180
|
reset: () => {
|
184
|
-
|
181
|
+
runtime.reset();
|
185
182
|
},
|
186
|
-
text: runtime.composer.text,
|
187
183
|
setText: (text) => {
|
188
|
-
|
184
|
+
runtime.setText(text);
|
189
185
|
},
|
190
|
-
canCancel: runtime.capabilities.cancel,
|
191
|
-
isEditing: true,
|
192
|
-
isEmpty: runtime.composer.isEmpty,
|
193
186
|
send: () => {
|
194
|
-
|
195
|
-
runtime2.composer.send();
|
187
|
+
runtime.send();
|
196
188
|
},
|
197
189
|
cancel: () => {
|
198
|
-
|
190
|
+
runtime.cancel();
|
199
191
|
},
|
200
192
|
focus: () => {
|
201
193
|
for (const listener of focusListeners) {
|
@@ -212,22 +204,6 @@ var makeThreadComposerStore = (useThreadRuntime2) => {
|
|
212
204
|
});
|
213
205
|
};
|
214
206
|
|
215
|
-
// src/context/stores/Thread.ts
|
216
|
-
|
217
|
-
var getThreadStateFromRuntime = (runtime) => {
|
218
|
-
const lastMessage = runtime.messages.at(-1);
|
219
|
-
return Object.freeze({
|
220
|
-
threadId: runtime.threadId,
|
221
|
-
capabilities: runtime.capabilities,
|
222
|
-
isDisabled: runtime.isDisabled,
|
223
|
-
isRunning: _optionalChain([lastMessage, 'optionalAccess', _5 => _5.role]) !== "assistant" ? false : lastMessage.status.type === "running"
|
224
|
-
});
|
225
|
-
};
|
226
|
-
var makeThreadStore = (runtimeRef) => {
|
227
|
-
const runtime = runtimeRef.getState();
|
228
|
-
return _zustand.create.call(void 0, () => getThreadStateFromRuntime(runtime));
|
229
|
-
};
|
230
|
-
|
231
207
|
// src/context/stores/ThreadViewport.tsx
|
232
208
|
|
233
209
|
var makeThreadViewportStore = () => {
|
@@ -248,85 +224,65 @@ var makeThreadViewportStore = () => {
|
|
248
224
|
}));
|
249
225
|
};
|
250
226
|
|
251
|
-
// src/context/stores/ThreadMessages.ts
|
252
|
-
|
253
|
-
var makeThreadMessagesStore = (runtimeRef) => {
|
254
|
-
return _zustand.create.call(void 0, () => runtimeRef.getState().messages);
|
255
|
-
};
|
256
|
-
|
257
227
|
// src/context/ReadonlyStore.ts
|
258
228
|
var writableStore = (store) => {
|
259
229
|
return store;
|
260
230
|
};
|
261
231
|
|
262
|
-
// src/context/providers/
|
232
|
+
// src/context/providers/ThreadRuntimeProvider.tsx
|
263
233
|
|
264
234
|
var _jsxruntime = require('react/jsx-runtime');
|
265
|
-
var
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
235
|
+
var useThreadRuntimeStore2 = (runtime) => {
|
236
|
+
const [store] = _react.useState.call(void 0, () => _zustand.create.call(void 0, () => runtime));
|
237
|
+
_react.useEffect.call(void 0, () => {
|
238
|
+
writableStore(store).setState(runtime, true);
|
239
|
+
}, [runtime, store]);
|
240
|
+
return store;
|
241
|
+
};
|
242
|
+
var useThreadStore2 = (runtime) => {
|
243
|
+
const [store] = _react.useState.call(void 0, () => _zustand.create.call(void 0, () => runtime.getState()));
|
244
|
+
_react.useEffect.call(void 0, () => {
|
245
|
+
const updateState = () => writableStore(store).setState(runtime.getState(), true);
|
246
|
+
updateState();
|
247
|
+
return runtime.subscribe(updateState);
|
248
|
+
}, [runtime, store]);
|
249
|
+
return store;
|
250
|
+
};
|
251
|
+
var useThreadMessagesStore2 = (runtime) => {
|
252
|
+
const [store] = _react.useState.call(void 0, () => _zustand.create.call(void 0, () => runtime.messages));
|
253
|
+
_react.useEffect.call(void 0, () => {
|
254
|
+
const updateState = () => writableStore(store).setState(runtime.messages, true);
|
255
|
+
updateState();
|
256
|
+
return runtime.subscribe(updateState);
|
257
|
+
}, [runtime, store]);
|
258
|
+
return store;
|
259
|
+
};
|
260
|
+
var useThreadComposerStore2 = (runtime) => {
|
261
|
+
const [store] = _react.useState.call(void 0, () => makeThreadComposerStore(runtime));
|
262
|
+
_react.useEffect.call(void 0, () => {
|
263
|
+
const updateState = () => writableStore(store).setState(runtime.getState());
|
264
|
+
updateState();
|
265
|
+
return runtime.subscribe(updateState);
|
266
|
+
}, [runtime, store]);
|
267
|
+
return store;
|
268
|
+
};
|
269
|
+
var ThreadRuntimeProvider = ({ children, runtime }) => {
|
270
|
+
const useThreadRuntime2 = useThreadRuntimeStore2(runtime);
|
271
|
+
const useThread2 = useThreadStore2(runtime);
|
272
|
+
const useThreadMessages2 = useThreadMessagesStore2(runtime);
|
273
|
+
const useThreadComposer2 = useThreadComposerStore2(runtime.composer);
|
274
|
+
const context = _react.useMemo.call(void 0, () => {
|
273
275
|
const useViewport = makeThreadViewportStore();
|
274
|
-
const useComposer2 = makeThreadComposerStore(useThreadRuntime2);
|
275
276
|
return {
|
276
277
|
useThread: useThread2,
|
277
278
|
useThreadRuntime: useThreadRuntime2,
|
278
279
|
useThreadMessages: useThreadMessages2,
|
279
280
|
useThreadActions: useThreadRuntime2,
|
280
|
-
useComposer:
|
281
|
+
useComposer: useThreadComposer2,
|
281
282
|
useViewport
|
282
283
|
};
|
283
|
-
});
|
284
|
-
|
285
|
-
const onThreadUpdate = () => {
|
286
|
-
const oldState = context.useThread.getState();
|
287
|
-
const state = getThreadStateFromRuntime(thread);
|
288
|
-
if (oldState.threadId !== state.threadId || oldState.isDisabled !== state.isDisabled || oldState.isRunning !== state.isRunning || oldState.capabilities !== state.capabilities) {
|
289
|
-
writableStore(context.useThread).setState(state, true);
|
290
|
-
}
|
291
|
-
if (thread.messages !== context.useThreadMessages.getState()) {
|
292
|
-
writableStore(context.useThreadMessages).setState(
|
293
|
-
thread.messages,
|
294
|
-
true
|
295
|
-
);
|
296
|
-
}
|
297
|
-
const composerState = context.useComposer.getState();
|
298
|
-
if (state.capabilities.cancel !== composerState.canCancel) {
|
299
|
-
writableStore(context.useComposer).setState({
|
300
|
-
canCancel: state.capabilities.cancel
|
301
|
-
});
|
302
|
-
}
|
303
|
-
};
|
304
|
-
onThreadUpdate();
|
305
|
-
return thread.subscribe(onThreadUpdate);
|
306
|
-
}, [thread, context]);
|
307
|
-
_react.useEffect.call(void 0, () => {
|
308
|
-
const onComposerUpdate = () => {
|
309
|
-
const composer = thread.composer;
|
310
|
-
const composerState = context.useComposer.getState();
|
311
|
-
if (composer.isEmpty !== composerState.isEmpty || composer.text !== composerState.text || composer.attachmentAccept !== composerState.attachmentAccept || composer.attachments !== composerState.attachments) {
|
312
|
-
writableStore(context.useComposer).setState({
|
313
|
-
isEmpty: composer.isEmpty,
|
314
|
-
text: composer.text,
|
315
|
-
attachmentAccept: composer.attachmentAccept,
|
316
|
-
attachments: composer.attachments
|
317
|
-
});
|
318
|
-
}
|
319
|
-
};
|
320
|
-
onComposerUpdate();
|
321
|
-
return thread.composer.subscribe(onComposerUpdate);
|
322
|
-
}, [thread, context]);
|
323
|
-
_react.useEffect.call(void 0,
|
324
|
-
() => thread.subscribe(() => {
|
325
|
-
writableStore(context.useThreadRuntime).setState(thread, true);
|
326
|
-
}),
|
327
|
-
[thread, context]
|
328
|
-
);
|
329
|
-
const Synchronizer = context.useThreadRuntime(
|
284
|
+
}, [useThread2, useThreadRuntime2, useThreadMessages2, useThreadComposer2]);
|
285
|
+
const Synchronizer = context.useThread(
|
330
286
|
(t) => t.unstable_synchronizer
|
331
287
|
);
|
332
288
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ThreadContext.Provider, { value: context, children: [
|
@@ -335,34 +291,30 @@ var ThreadProvider = ({
|
|
335
291
|
] });
|
336
292
|
};
|
337
293
|
|
338
|
-
// src/context/providers/
|
294
|
+
// src/context/providers/AssistantRuntimeProvider.tsx
|
339
295
|
|
340
296
|
|
341
|
-
var
|
342
|
-
const
|
343
|
-
_react.
|
344
|
-
|
345
|
-
});
|
346
|
-
|
347
|
-
|
348
|
-
|
297
|
+
var useAssistantRuntimeStore2 = (runtime) => {
|
298
|
+
const [store] = _react.useState.call(void 0, () => _zustand.create.call(void 0, () => runtime));
|
299
|
+
_react.useEffect.call(void 0, () => {
|
300
|
+
writableStore(store).setState(runtime, true);
|
301
|
+
}, [runtime, store]);
|
302
|
+
return store;
|
303
|
+
};
|
304
|
+
var useAssistantToolUIsStore = () => {
|
305
|
+
return _react.useMemo.call(void 0, () => makeAssistantToolUIsStore(), []);
|
306
|
+
};
|
307
|
+
var AssistantRuntimeProviderImpl = ({ children, runtime }) => {
|
308
|
+
const useAssistantRuntime2 = useAssistantRuntimeStore2(runtime);
|
309
|
+
const useToolUIs2 = useAssistantToolUIsStore();
|
310
|
+
const context = _react.useMemo.call(void 0, () => {
|
349
311
|
return {
|
350
312
|
useToolUIs: useToolUIs2,
|
351
313
|
useAssistantRuntime: useAssistantRuntime2,
|
352
314
|
useAssistantActions: useAssistantRuntime2
|
353
315
|
};
|
354
|
-
});
|
355
|
-
|
356
|
-
() => writableStore(context.useAssistantRuntime).setState(runtime, true),
|
357
|
-
[runtime, context]
|
358
|
-
);
|
359
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AssistantContext.Provider, { value: context, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadProvider, { provider: runtime.thread, children }) });
|
360
|
-
};
|
361
|
-
|
362
|
-
// src/context/providers/AssistantRuntimeProvider.tsx
|
363
|
-
|
364
|
-
var AssistantRuntimeProviderImpl = ({ children, runtime }) => {
|
365
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AssistantProvider, { runtime, children });
|
316
|
+
}, [useAssistantRuntime2, useToolUIs2]);
|
317
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AssistantContext.Provider, { value: context, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadRuntimeProvider, { runtime: runtime.thread, children }) });
|
366
318
|
};
|
367
319
|
var AssistantRuntimeProvider = _react.memo.call(void 0, AssistantRuntimeProviderImpl);
|
368
320
|
|
@@ -427,6 +379,11 @@ var useMessageContext = createContextHook(
|
|
427
379
|
MessageContext,
|
428
380
|
"a component passed to <ThreadPrimitive.Messages components={...} />"
|
429
381
|
);
|
382
|
+
function useMessageRuntime(options) {
|
383
|
+
const context = useMessageContext(options);
|
384
|
+
if (!context) return null;
|
385
|
+
return context.useMessageRuntime();
|
386
|
+
}
|
430
387
|
var { useMessage, useMessageStore } = createContextStoreHook(
|
431
388
|
useMessageContext,
|
432
389
|
"useMessage"
|
@@ -460,40 +417,17 @@ var { useComposer, useComposerStore } = createContextStoreHook(
|
|
460
417
|
|
461
418
|
// src/hooks/useAppendMessage.tsx
|
462
419
|
|
463
|
-
var toAppendMessage = (useThreadMessages2, message) => {
|
464
|
-
if (typeof message === "string") {
|
465
|
-
return {
|
466
|
-
parentId: _nullishCoalesce(_optionalChain([useThreadMessages2, 'access', _6 => _6.getState, 'call', _7 => _7(), 'access', _8 => _8.at, 'call', _9 => _9(-1), 'optionalAccess', _10 => _10.id]), () => ( null)),
|
467
|
-
role: "user",
|
468
|
-
content: [{ type: "text", text: message }],
|
469
|
-
attachments: []
|
470
|
-
};
|
471
|
-
}
|
472
|
-
return {
|
473
|
-
parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([useThreadMessages2, 'access', _11 => _11.getState, 'call', _12 => _12(), 'access', _13 => _13.at, 'call', _14 => _14(-1), 'optionalAccess', _15 => _15.id]))), () => ( null)),
|
474
|
-
role: _nullishCoalesce(message.role, () => ( "user")),
|
475
|
-
content: message.content,
|
476
|
-
attachments: _nullishCoalesce(message.attachments, () => ( []))
|
477
|
-
};
|
478
|
-
};
|
479
420
|
var useAppendMessage = () => {
|
480
|
-
const threadMessagesStore = useThreadMessagesStore();
|
481
421
|
const threadRuntime = useThreadRuntime();
|
482
422
|
const threadViewportStore = useThreadViewportStore();
|
483
423
|
const threadComposerStore = useThreadComposerStore();
|
484
424
|
const append = _react.useCallback.call(void 0,
|
485
425
|
(message) => {
|
486
|
-
|
487
|
-
threadRuntime.append(appendMessage);
|
426
|
+
threadRuntime.append(message);
|
488
427
|
threadViewportStore.getState().scrollToBottom();
|
489
428
|
threadComposerStore.getState().focus();
|
490
429
|
},
|
491
|
-
[
|
492
|
-
threadMessagesStore,
|
493
|
-
threadRuntime,
|
494
|
-
threadViewportStore,
|
495
|
-
threadComposerStore
|
496
|
-
]
|
430
|
+
[threadRuntime, threadViewportStore, threadComposerStore]
|
497
431
|
);
|
498
432
|
return append;
|
499
433
|
};
|
@@ -528,7 +462,7 @@ var useAssistantTool = (tool) => {
|
|
528
462
|
const unsub2 = render ? toolUIsStore.getState().setToolUI(toolName, render) : void 0;
|
529
463
|
return () => {
|
530
464
|
unsub1();
|
531
|
-
_optionalChain([unsub2, 'optionalCall',
|
465
|
+
_optionalChain([unsub2, 'optionalCall', _5 => _5()]);
|
532
466
|
};
|
533
467
|
}, [assistantRuntime, toolUIsStore, tool]);
|
534
468
|
};
|
@@ -624,12 +558,12 @@ var useActionBarCopy = ({
|
|
624
558
|
const editComposerStore = useEditComposerStore();
|
625
559
|
const hasCopyableContent = useCombinedStore(
|
626
560
|
[messageStore, editComposerStore],
|
627
|
-
(
|
561
|
+
(message, c) => {
|
628
562
|
return !c.isEditing && (message.role !== "assistant" || message.status.type !== "running") && message.content.some((c2) => c2.type === "text" && c2.text.length > 0);
|
629
563
|
}
|
630
564
|
);
|
631
565
|
const callback = _react.useCallback.call(void 0, () => {
|
632
|
-
const
|
566
|
+
const message = messageStore.getState();
|
633
567
|
const { setIsCopied } = messageUtilsStore.getState();
|
634
568
|
const { isEditing, text: composerValue } = editComposerStore.getState();
|
635
569
|
const valueToCopy = isEditing ? composerValue : getThreadMessageText(message);
|
@@ -665,7 +599,7 @@ var useActionBarReload = () => {
|
|
665
599
|
const threadViewportStore = useThreadViewportStore();
|
666
600
|
const disabled = useCombinedStore(
|
667
601
|
[threadStore, messageStore],
|
668
|
-
(t, m) => t.isRunning || t.isDisabled || m.
|
602
|
+
(t, m) => t.isRunning || t.isDisabled || m.role !== "assistant"
|
669
603
|
);
|
670
604
|
const callback = _react.useCallback.call(void 0, () => {
|
671
605
|
const { parentId } = messageStore.getState();
|
@@ -719,7 +653,7 @@ var useActionBarFeedbackPositive = () => {
|
|
719
653
|
const messageUtilsStore = useMessageUtilsStore();
|
720
654
|
const callback = _react.useCallback.call(void 0, () => {
|
721
655
|
threadRuntime.submitFeedback({
|
722
|
-
messageId: messageStore.getState().
|
656
|
+
messageId: messageStore.getState().id,
|
723
657
|
type: "positive"
|
724
658
|
});
|
725
659
|
messageUtilsStore.getState().setSubmittedFeedback("positive");
|
@@ -735,7 +669,7 @@ var useActionBarFeedbackNegative = () => {
|
|
735
669
|
const messageUtilsStore = useMessageUtilsStore();
|
736
670
|
const callback = _react.useCallback.call(void 0, () => {
|
737
671
|
threadRuntime.submitFeedback({
|
738
|
-
messageId: messageStore.getState().
|
672
|
+
messageId: messageStore.getState().id,
|
739
673
|
type: "negative"
|
740
674
|
});
|
741
675
|
messageUtilsStore.getState().setSubmittedFeedback("negative");
|
@@ -745,48 +679,46 @@ var useActionBarFeedbackNegative = () => {
|
|
745
679
|
|
746
680
|
// src/primitive-hooks/branchPicker/useBranchPickerCount.tsx
|
747
681
|
var useBranchPickerCount = () => {
|
748
|
-
const branchCount = useMessage((s) => s.
|
682
|
+
const branchCount = useMessage((s) => s.branchCount);
|
749
683
|
return branchCount;
|
750
684
|
};
|
751
685
|
|
752
686
|
// src/primitive-hooks/branchPicker/useBranchPickerNext.tsx
|
753
687
|
|
754
688
|
var useBranchPickerNext = () => {
|
689
|
+
const messageRuntime = useMessageRuntime();
|
755
690
|
const messageStore = useMessageStore();
|
756
691
|
const editComposerStore = useEditComposerStore();
|
757
|
-
const threadRuntime = useThreadRuntime();
|
758
692
|
const disabled = useCombinedStore(
|
759
693
|
[messageStore, editComposerStore],
|
760
|
-
(m, c) => c.isEditing || m.
|
694
|
+
(m, c) => c.isEditing || m.branchNumber >= m.branchCount
|
761
695
|
);
|
762
696
|
const callback = _react.useCallback.call(void 0, () => {
|
763
|
-
|
764
|
-
|
765
|
-
}, [threadRuntime, messageStore]);
|
697
|
+
messageRuntime.switchToBranch({ position: "next" });
|
698
|
+
}, [messageRuntime]);
|
766
699
|
if (disabled) return null;
|
767
700
|
return callback;
|
768
701
|
};
|
769
702
|
|
770
703
|
// src/primitive-hooks/branchPicker/useBranchPickerNumber.tsx
|
771
704
|
var useBranchPickerNumber = () => {
|
772
|
-
const
|
773
|
-
return
|
705
|
+
const branchNumber = useMessage((s) => s.branchNumber);
|
706
|
+
return branchNumber;
|
774
707
|
};
|
775
708
|
|
776
709
|
// src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx
|
777
710
|
|
778
711
|
var useBranchPickerPrevious = () => {
|
712
|
+
const messageRuntime = useMessageRuntime();
|
779
713
|
const messageStore = useMessageStore();
|
780
714
|
const editComposerStore = useEditComposerStore();
|
781
|
-
const threadRuntime = useThreadRuntime();
|
782
715
|
const disabled = useCombinedStore(
|
783
716
|
[messageStore, editComposerStore],
|
784
|
-
(m, c) => c.isEditing || m.
|
717
|
+
(m, c) => c.isEditing || m.branchNumber <= 1
|
785
718
|
);
|
786
719
|
const callback = _react.useCallback.call(void 0, () => {
|
787
|
-
|
788
|
-
|
789
|
-
}, [threadRuntime, messageStore]);
|
720
|
+
messageRuntime.switchToBranch({ position: "previous" });
|
721
|
+
}, [messageRuntime]);
|
790
722
|
if (disabled) return null;
|
791
723
|
return callback;
|
792
724
|
};
|
@@ -850,7 +782,7 @@ var useComposerAddAttachment = () => {
|
|
850
782
|
input.accept = attachmentAccept;
|
851
783
|
}
|
852
784
|
input.onchange = (e) => {
|
853
|
-
const file = _optionalChain([e, 'access',
|
785
|
+
const file = _optionalChain([e, 'access', _6 => _6.target, 'access', _7 => _7.files, 'optionalAccess', _8 => _8[0]]);
|
854
786
|
if (!file) return;
|
855
787
|
addAttachment(file);
|
856
788
|
};
|
@@ -902,19 +834,19 @@ var useMessageIf = (props) => {
|
|
902
834
|
const messageUtilsStore = useMessageUtilsStore();
|
903
835
|
return useCombinedStore(
|
904
836
|
[messageStore, messageUtilsStore],
|
905
|
-
({
|
906
|
-
if (props.hasBranches === true &&
|
907
|
-
if (props.user &&
|
908
|
-
if (props.assistant &&
|
909
|
-
if (props.system &&
|
837
|
+
({ role, attachments, branchCount, isLast }, { isCopied, isHovering, isSpeaking, submittedFeedback }) => {
|
838
|
+
if (props.hasBranches === true && branchCount < 2) return false;
|
839
|
+
if (props.user && role !== "user") return false;
|
840
|
+
if (props.assistant && role !== "assistant") return false;
|
841
|
+
if (props.system && role !== "system") return false;
|
910
842
|
if (props.lastOrHover === true && !isHovering && !isLast) return false;
|
911
843
|
if (props.copied === true && !isCopied) return false;
|
912
844
|
if (props.copied === false && isCopied) return false;
|
913
845
|
if (props.speaking === true && !isSpeaking) return false;
|
914
846
|
if (props.speaking === false && isSpeaking) return false;
|
915
|
-
if (props.hasAttachments === true && (
|
847
|
+
if (props.hasAttachments === true && (role !== "user" || !attachments.length))
|
916
848
|
return false;
|
917
|
-
if (props.hasAttachments === false &&
|
849
|
+
if (props.hasAttachments === false && role === "user" && !!attachments.length)
|
918
850
|
return false;
|
919
851
|
if (props.submittedFeedback !== void 0 && submittedFeedback !== props.submittedFeedback)
|
920
852
|
return false;
|
@@ -986,7 +918,7 @@ var useThreadSuggestion = ({
|
|
986
918
|
|
987
919
|
// src/primitives/actionBar/index.ts
|
988
920
|
var actionBar_exports = {};
|
989
|
-
|
921
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, actionBar_exports, {
|
990
922
|
Copy: () => ActionBarPrimitiveCopy,
|
991
923
|
Edit: () => ActionBarPrimitiveEdit,
|
992
924
|
FeedbackNegative: () => ActionBarPrimitiveFeedbackNegative,
|
@@ -1061,7 +993,7 @@ var ActionBarPrimitiveCopy = _react.forwardRef.call(void 0, ({ copiedDuration, o
|
|
1061
993
|
ref: forwardedRef,
|
1062
994
|
disabled: disabled || !callback,
|
1063
995
|
onClick: _primitive.composeEventHandlers.call(void 0, onClick, () => {
|
1064
|
-
_optionalChain([callback, 'optionalCall',
|
996
|
+
_optionalChain([callback, 'optionalCall', _9 => _9()]);
|
1065
997
|
})
|
1066
998
|
}
|
1067
999
|
);
|
@@ -1093,7 +1025,7 @@ var createActionButton = (displayName, useActionButton, forwardProps = []) => {
|
|
1093
1025
|
ref: forwardedRef,
|
1094
1026
|
disabled: primitiveProps.disabled || !callback,
|
1095
1027
|
onClick: _primitive.composeEventHandlers.call(void 0, primitiveProps.onClick, () => {
|
1096
|
-
_optionalChain([callback, 'optionalCall',
|
1028
|
+
_optionalChain([callback, 'optionalCall', _10 => _10()]);
|
1097
1029
|
})
|
1098
1030
|
}
|
1099
1031
|
);
|
@@ -1142,7 +1074,7 @@ var ActionBarPrimitiveStopSpeaking = _react.forwardRef.call(void 0, (props, ref)
|
|
1142
1074
|
...props,
|
1143
1075
|
ref,
|
1144
1076
|
onClick: _primitive.composeEventHandlers.call(void 0, props.onClick, () => {
|
1145
|
-
_optionalChain([callback, 'optionalCall',
|
1077
|
+
_optionalChain([callback, 'optionalCall', _11 => _11()]);
|
1146
1078
|
})
|
1147
1079
|
}
|
1148
1080
|
);
|
@@ -1168,7 +1100,7 @@ var ActionBarPrimitiveFeedbackPositive = _react.forwardRef.call(void 0, ({ onCli
|
|
1168
1100
|
ref: forwardedRef,
|
1169
1101
|
disabled: disabled || !callback,
|
1170
1102
|
onClick: _primitive.composeEventHandlers.call(void 0, onClick, () => {
|
1171
|
-
_optionalChain([callback, 'optionalCall',
|
1103
|
+
_optionalChain([callback, 'optionalCall', _12 => _12()]);
|
1172
1104
|
})
|
1173
1105
|
}
|
1174
1106
|
);
|
@@ -1194,7 +1126,7 @@ var ActionBarPrimitiveFeedbackNegative = _react.forwardRef.call(void 0, ({ onCli
|
|
1194
1126
|
ref: forwardedRef,
|
1195
1127
|
disabled: disabled || !callback,
|
1196
1128
|
onClick: _primitive.composeEventHandlers.call(void 0, onClick, () => {
|
1197
|
-
_optionalChain([callback, 'optionalCall',
|
1129
|
+
_optionalChain([callback, 'optionalCall', _13 => _13()]);
|
1198
1130
|
})
|
1199
1131
|
}
|
1200
1132
|
);
|
@@ -1203,7 +1135,7 @@ ActionBarPrimitiveFeedbackNegative.displayName = "ActionBarPrimitive.FeedbackNeg
|
|
1203
1135
|
|
1204
1136
|
// src/primitives/assistantModal/index.ts
|
1205
1137
|
var assistantModal_exports = {};
|
1206
|
-
|
1138
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, assistantModal_exports, {
|
1207
1139
|
Anchor: () => AssistantModalPrimitiveAnchor,
|
1208
1140
|
Content: () => AssistantModalPrimitiveContent,
|
1209
1141
|
Root: () => AssistantModalPrimitiveRoot,
|
@@ -1328,7 +1260,7 @@ AssistantModalPrimitiveAnchor.displayName = "AssistantModalPrimitive.Anchor";
|
|
1328
1260
|
|
1329
1261
|
// src/primitives/branchPicker/index.ts
|
1330
1262
|
var branchPicker_exports = {};
|
1331
|
-
|
1263
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, branchPicker_exports, {
|
1332
1264
|
Count: () => BranchPickerPrimitiveCount,
|
1333
1265
|
Next: () => BranchPickerPrimitiveNext,
|
1334
1266
|
Number: () => BranchPickerPrimitiveNumber,
|
@@ -1370,7 +1302,7 @@ BranchPickerPrimitiveNumber.displayName = "BranchPickerPrimitive.Number";
|
|
1370
1302
|
|
1371
1303
|
// src/primitives/message/index.ts
|
1372
1304
|
var message_exports = {};
|
1373
|
-
|
1305
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, message_exports, {
|
1374
1306
|
Attachments: () => MessagePrimitiveAttachments,
|
1375
1307
|
Content: () => MessagePrimitiveContent,
|
1376
1308
|
If: () => MessagePrimitiveIf,
|
@@ -1484,7 +1416,7 @@ var getContentPartState = ({ message }, useContentPart2, partIndex) => {
|
|
1484
1416
|
part = EMPTY_CONTENT;
|
1485
1417
|
}
|
1486
1418
|
const status = toContentPartStatus(message, partIndex, part);
|
1487
|
-
const currentState = _optionalChain([useContentPart2, 'optionalAccess',
|
1419
|
+
const currentState = _optionalChain([useContentPart2, 'optionalAccess', _14 => _14.getState, 'call', _15 => _15()]);
|
1488
1420
|
if (currentState && currentState.part === part && currentState.status === status)
|
1489
1421
|
return null;
|
1490
1422
|
return Object.freeze({ part, status });
|
@@ -1561,7 +1493,7 @@ var withSmoothContextProvider = (Component) => {
|
|
1561
1493
|
};
|
1562
1494
|
function useSmoothContext(options) {
|
1563
1495
|
const context = _react.useContext.call(void 0, SmoothContext);
|
1564
|
-
if (!_optionalChain([options, 'optionalAccess',
|
1496
|
+
if (!_optionalChain([options, 'optionalAccess', _16 => _16.optional]) && !context)
|
1565
1497
|
throw new Error(
|
1566
1498
|
"This component must be used within a SmoothContextProvider."
|
1567
1499
|
);
|
@@ -1626,7 +1558,7 @@ var useSmooth = (state, smooth = false) => {
|
|
1626
1558
|
} = state;
|
1627
1559
|
const id = useMessage({
|
1628
1560
|
optional: true,
|
1629
|
-
selector: (m) => m.
|
1561
|
+
selector: (m) => m.id
|
1630
1562
|
});
|
1631
1563
|
const idRef = _react.useRef.call(void 0, id);
|
1632
1564
|
const [displayedText, setDisplayedText] = _react.useState.call(void 0, text);
|
@@ -1768,7 +1700,7 @@ var MessageContentPartComponent = ({
|
|
1768
1700
|
case "tool-call": {
|
1769
1701
|
const Tool = by_name[part.toolName] || Fallback2;
|
1770
1702
|
const addResult = (result) => threadRuntime.addToolResult({
|
1771
|
-
messageId: messageStore.getState().
|
1703
|
+
messageId: messageStore.getState().id,
|
1772
1704
|
toolName: part.toolName,
|
1773
1705
|
toolCallId: part.toolCallId,
|
1774
1706
|
result
|
@@ -1796,12 +1728,12 @@ var MessageContentPartImpl = ({
|
|
1796
1728
|
};
|
1797
1729
|
var MessageContentPart = _react.memo.call(void 0,
|
1798
1730
|
MessageContentPartImpl,
|
1799
|
-
(prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access',
|
1731
|
+
(prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access', _17 => _17.components, 'optionalAccess', _18 => _18.Text]) === _optionalChain([next, 'access', _19 => _19.components, 'optionalAccess', _20 => _20.Text]) && _optionalChain([prev, 'access', _21 => _21.components, 'optionalAccess', _22 => _22.Image]) === _optionalChain([next, 'access', _23 => _23.components, 'optionalAccess', _24 => _24.Image]) && _optionalChain([prev, 'access', _25 => _25.components, 'optionalAccess', _26 => _26.UI]) === _optionalChain([next, 'access', _27 => _27.components, 'optionalAccess', _28 => _28.UI]) && _optionalChain([prev, 'access', _29 => _29.components, 'optionalAccess', _30 => _30.tools]) === _optionalChain([next, 'access', _31 => _31.components, 'optionalAccess', _32 => _32.tools])
|
1800
1732
|
);
|
1801
1733
|
var MessagePrimitiveContent = ({
|
1802
1734
|
components
|
1803
1735
|
}) => {
|
1804
|
-
const contentLength = useMessage((s) => s.
|
1736
|
+
const contentLength = useMessage((s) => s.content.length) || 1;
|
1805
1737
|
return Array.from({ length: contentLength }, (_, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageContentPart, { partIndex: index, components }, index));
|
1806
1738
|
};
|
1807
1739
|
MessagePrimitiveContent.displayName = "MessagePrimitive.Content";
|
@@ -1822,7 +1754,7 @@ var AttachmentContext = _react.createContext.call(void 0,
|
|
1822
1754
|
);
|
1823
1755
|
function useAttachmentContext(options) {
|
1824
1756
|
const context = _react.useContext.call(void 0, AttachmentContext);
|
1825
|
-
if (!_optionalChain([options, 'optionalAccess',
|
1757
|
+
if (!_optionalChain([options, 'optionalAccess', _33 => _33.optional]) && !context)
|
1826
1758
|
throw new Error(
|
1827
1759
|
"This component must be used within a ComposerPrimitive.Attachments or MessagePrimitive.Attachments component."
|
1828
1760
|
);
|
@@ -1863,12 +1795,12 @@ var {
|
|
1863
1795
|
|
1864
1796
|
|
1865
1797
|
|
1866
|
-
var getAttachment = (
|
1798
|
+
var getAttachment = (message, useAttachment2, partIndex) => {
|
1867
1799
|
if (message.role !== "user") return null;
|
1868
1800
|
const attachments = message.attachments;
|
1869
1801
|
const attachment = attachments[partIndex];
|
1870
1802
|
if (!attachment) return null;
|
1871
|
-
const currentState = _optionalChain([useAttachment2, 'optionalAccess',
|
1803
|
+
const currentState = _optionalChain([useAttachment2, 'optionalAccess', _34 => _34.getState, 'call', _35 => _35()]);
|
1872
1804
|
if (currentState && currentState.attachment === attachment) return null;
|
1873
1805
|
return Object.freeze({ attachment });
|
1874
1806
|
};
|
@@ -1911,11 +1843,11 @@ var getComponent = (components, attachment) => {
|
|
1911
1843
|
const type = attachment.type;
|
1912
1844
|
switch (type) {
|
1913
1845
|
case "image":
|
1914
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
1846
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _36 => _36.Image]), () => ( _optionalChain([components, 'optionalAccess', _37 => _37.Attachment])));
|
1915
1847
|
case "document":
|
1916
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
1848
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _38 => _38.Document]), () => ( _optionalChain([components, 'optionalAccess', _39 => _39.Attachment])));
|
1917
1849
|
case "file":
|
1918
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
1850
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _40 => _40.File]), () => ( _optionalChain([components, 'optionalAccess', _41 => _41.Attachment])));
|
1919
1851
|
default:
|
1920
1852
|
const _exhaustiveCheck = type;
|
1921
1853
|
throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);
|
@@ -1933,7 +1865,7 @@ var MessageAttachmentImpl = ({ components, attachmentIndex }) => {
|
|
1933
1865
|
};
|
1934
1866
|
var MessageAttachment = _react.memo.call(void 0,
|
1935
1867
|
MessageAttachmentImpl,
|
1936
|
-
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access',
|
1868
|
+
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _42 => _42.components, 'optionalAccess', _43 => _43.Image]) === _optionalChain([next, 'access', _44 => _44.components, 'optionalAccess', _45 => _45.Image]) && _optionalChain([prev, 'access', _46 => _46.components, 'optionalAccess', _47 => _47.Document]) === _optionalChain([next, 'access', _48 => _48.components, 'optionalAccess', _49 => _49.Document]) && _optionalChain([prev, 'access', _50 => _50.components, 'optionalAccess', _51 => _51.File]) === _optionalChain([next, 'access', _52 => _52.components, 'optionalAccess', _53 => _53.File]) && _optionalChain([prev, 'access', _54 => _54.components, 'optionalAccess', _55 => _55.Attachment]) === _optionalChain([next, 'access', _56 => _56.components, 'optionalAccess', _57 => _57.Attachment])
|
1937
1869
|
);
|
1938
1870
|
var MessagePrimitiveAttachments = ({ components }) => {
|
1939
1871
|
const attachmentsCount = useMessage(({ message }) => {
|
@@ -1960,7 +1892,7 @@ BranchPickerPrimitiveRoot.displayName = "BranchPickerPrimitive.Root";
|
|
1960
1892
|
|
1961
1893
|
// src/primitives/composer/index.ts
|
1962
1894
|
var composer_exports = {};
|
1963
|
-
|
1895
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, composer_exports, {
|
1964
1896
|
AddAttachment: () => ComposerPrimitiveAddAttachment,
|
1965
1897
|
Attachments: () => ComposerPrimitiveAttachments,
|
1966
1898
|
Cancel: () => ComposerPrimitiveCancel,
|
@@ -2044,7 +1976,7 @@ var ComposerPrimitiveInput = _react.forwardRef.call(void 0,
|
|
2044
1976
|
const { isRunning } = threadStore.getState();
|
2045
1977
|
if (!isRunning) {
|
2046
1978
|
e.preventDefault();
|
2047
|
-
_optionalChain([textareaRef, 'access',
|
1979
|
+
_optionalChain([textareaRef, 'access', _58 => _58.current, 'optionalAccess', _59 => _59.closest, 'call', _60 => _60("form"), 'optionalAccess', _61 => _61.requestSubmit, 'call', _62 => _62()]);
|
2048
1980
|
}
|
2049
1981
|
}
|
2050
1982
|
};
|
@@ -2112,7 +2044,7 @@ var ComposerPrimitiveAddAttachment = createActionButton(
|
|
2112
2044
|
var getAttachment2 = ({ attachments }, useAttachment2, partIndex) => {
|
2113
2045
|
const attachment = attachments[partIndex];
|
2114
2046
|
if (!attachment) return null;
|
2115
|
-
const currentState = _optionalChain([useAttachment2, 'optionalAccess',
|
2047
|
+
const currentState = _optionalChain([useAttachment2, 'optionalAccess', _63 => _63.getState, 'call', _64 => _64()]);
|
2116
2048
|
if (currentState && currentState.attachment === attachment) return null;
|
2117
2049
|
return Object.freeze({ attachment });
|
2118
2050
|
};
|
@@ -2152,11 +2084,11 @@ var getComponent2 = (components, attachment) => {
|
|
2152
2084
|
const type = attachment.type;
|
2153
2085
|
switch (type) {
|
2154
2086
|
case "image":
|
2155
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2087
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _65 => _65.Image]), () => ( _optionalChain([components, 'optionalAccess', _66 => _66.Attachment])));
|
2156
2088
|
case "document":
|
2157
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2089
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _67 => _67.Document]), () => ( _optionalChain([components, 'optionalAccess', _68 => _68.Attachment])));
|
2158
2090
|
case "file":
|
2159
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2091
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _69 => _69.File]), () => ( _optionalChain([components, 'optionalAccess', _70 => _70.Attachment])));
|
2160
2092
|
default:
|
2161
2093
|
const _exhaustiveCheck = type;
|
2162
2094
|
throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);
|
@@ -2174,7 +2106,7 @@ var ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
|
|
2174
2106
|
};
|
2175
2107
|
var ComposerAttachment = _react.memo.call(void 0,
|
2176
2108
|
ComposerAttachmentImpl,
|
2177
|
-
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access',
|
2109
|
+
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _71 => _71.components, 'optionalAccess', _72 => _72.Image]) === _optionalChain([next, 'access', _73 => _73.components, 'optionalAccess', _74 => _74.Image]) && _optionalChain([prev, 'access', _75 => _75.components, 'optionalAccess', _76 => _76.Document]) === _optionalChain([next, 'access', _77 => _77.components, 'optionalAccess', _78 => _78.Document]) && _optionalChain([prev, 'access', _79 => _79.components, 'optionalAccess', _80 => _80.File]) === _optionalChain([next, 'access', _81 => _81.components, 'optionalAccess', _82 => _82.File]) && _optionalChain([prev, 'access', _83 => _83.components, 'optionalAccess', _84 => _84.Attachment]) === _optionalChain([next, 'access', _85 => _85.components, 'optionalAccess', _86 => _86.Attachment])
|
2178
2110
|
);
|
2179
2111
|
var ComposerPrimitiveAttachments = ({ components }) => {
|
2180
2112
|
const attachmentsCount = useThreadComposer((s) => s.attachments.length);
|
@@ -2201,7 +2133,7 @@ ComposerPrimitiveIf.displayName = "ComposerPrimitive.If";
|
|
2201
2133
|
|
2202
2134
|
// src/primitives/contentPart/index.ts
|
2203
2135
|
var contentPart_exports = {};
|
2204
|
-
|
2136
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, contentPart_exports, {
|
2205
2137
|
Display: () => ContentPartPrimitiveDisplay,
|
2206
2138
|
Image: () => ContentPartPrimitiveImage,
|
2207
2139
|
InProgress: () => ContentPartPrimitiveInProgress,
|
@@ -2210,7 +2142,7 @@ _chunkDCHYNTHIjs.__export.call(void 0, contentPart_exports, {
|
|
2210
2142
|
|
2211
2143
|
// src/primitives/thread/index.ts
|
2212
2144
|
var thread_exports = {};
|
2213
|
-
|
2145
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, thread_exports, {
|
2214
2146
|
Empty: () => ThreadPrimitiveEmpty,
|
2215
2147
|
If: () => ThreadPrimitiveIf,
|
2216
2148
|
Messages: () => ThreadPrimitiveMessages,
|
@@ -2375,7 +2307,7 @@ ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
|
|
2375
2307
|
// src/primitives/thread/ThreadMessages.tsx
|
2376
2308
|
|
2377
2309
|
|
2378
|
-
// src/context/providers/
|
2310
|
+
// src/context/providers/MessageRuntimeProvider.tsx
|
2379
2311
|
|
2380
2312
|
|
2381
2313
|
|
@@ -2433,7 +2365,7 @@ var makeMessageUtilsStore = () => _zustand.create.call(void 0, (set) => {
|
|
2433
2365
|
},
|
2434
2366
|
isSpeaking: false,
|
2435
2367
|
stopSpeaking: () => {
|
2436
|
-
_optionalChain([utterance, 'optionalAccess',
|
2368
|
+
_optionalChain([utterance, 'optionalAccess', _87 => _87.cancel, 'call', _88 => _88()]);
|
2437
2369
|
},
|
2438
2370
|
addUtterance: (utt) => {
|
2439
2371
|
utterance = utt;
|
@@ -2449,84 +2381,65 @@ var makeMessageUtilsStore = () => _zustand.create.call(void 0, (set) => {
|
|
2449
2381
|
};
|
2450
2382
|
});
|
2451
2383
|
|
2452
|
-
// src/context/providers/
|
2384
|
+
// src/context/providers/MessageRuntimeProvider.tsx
|
2453
2385
|
|
2454
|
-
var
|
2455
|
-
|
2386
|
+
var useMessageRuntimeStore = (runtime) => {
|
2387
|
+
const [store] = _react.useState.call(void 0, () => _zustand.create.call(void 0, () => runtime));
|
2388
|
+
_react.useEffect.call(void 0, () => {
|
2389
|
+
writableStore(store).setState(runtime, true);
|
2390
|
+
}, [runtime, store]);
|
2391
|
+
return store;
|
2456
2392
|
};
|
2457
|
-
var
|
2458
|
-
const
|
2459
|
-
|
2460
|
-
|
2461
|
-
|
2462
|
-
|
2463
|
-
|
2464
|
-
|
2465
|
-
return null;
|
2466
|
-
return Object.freeze({
|
2467
|
-
message,
|
2468
|
-
parentId,
|
2469
|
-
branches,
|
2470
|
-
isLast
|
2471
|
-
});
|
2393
|
+
var useMessageStore2 = (runtime) => {
|
2394
|
+
const [store] = _react.useState.call(void 0, () => _zustand.create.call(void 0, () => runtime.getState()));
|
2395
|
+
_react.useEffect.call(void 0, () => {
|
2396
|
+
const updateState = () => writableStore(store).setState(runtime.getState(), true);
|
2397
|
+
updateState();
|
2398
|
+
return runtime.subscribe(updateState);
|
2399
|
+
}, [runtime, store]);
|
2400
|
+
return store;
|
2472
2401
|
};
|
2473
|
-
var
|
2474
|
-
const
|
2475
|
-
|
2476
|
-
|
2477
|
-
|
2478
|
-
|
2479
|
-
|
2480
|
-
threadRuntime.getBranches.bind(threadRuntime),
|
2481
|
-
void 0,
|
2482
|
-
messageIndex
|
2483
|
-
)
|
2484
|
-
);
|
2485
|
-
const useMessageUtils2 = makeMessageUtilsStore();
|
2486
|
-
const useEditComposer2 = makeEditComposerStore({
|
2402
|
+
var useMessageUtilsStore2 = () => {
|
2403
|
+
const [store] = _react.useState.call(void 0, () => makeMessageUtilsStore());
|
2404
|
+
return store;
|
2405
|
+
};
|
2406
|
+
var useEditComposerStore2 = (useMessageRuntime2) => {
|
2407
|
+
const [store] = _react.useState.call(void 0,
|
2408
|
+
() => makeEditComposerStore({
|
2487
2409
|
onEdit: () => {
|
2488
|
-
const
|
2489
|
-
|
2410
|
+
const text = getThreadMessageText(
|
2411
|
+
useMessageRuntime2.getState().getState()
|
2412
|
+
);
|
2490
2413
|
return text;
|
2491
2414
|
},
|
2492
2415
|
onSend: (text) => {
|
2493
|
-
const
|
2416
|
+
const message = useMessageRuntime2.getState().getState();
|
2494
2417
|
const previousText = getThreadMessageText(message);
|
2495
2418
|
if (previousText === text) return;
|
2496
2419
|
const nonTextParts = message.content.filter(
|
2497
2420
|
(part) => part.type !== "text" && part.type !== "ui"
|
2498
2421
|
);
|
2499
|
-
|
2500
|
-
parentId,
|
2422
|
+
useMessageRuntime2.getState().edit({
|
2501
2423
|
role: message.role,
|
2502
2424
|
content: [{ type: "text", text }, ...nonTextParts],
|
2503
|
-
attachments: message.attachments
|
2425
|
+
attachments: _nullishCoalesce(message.attachments, () => ( []))
|
2504
2426
|
});
|
2505
2427
|
}
|
2506
|
-
})
|
2507
|
-
|
2508
|
-
|
2509
|
-
_react.useEffect.call(void 0, () => {
|
2510
|
-
const syncMessage = (thread) => {
|
2511
|
-
const newState = getMessageState(
|
2512
|
-
thread,
|
2513
|
-
threadRuntime.getBranches.bind(threadRuntime),
|
2514
|
-
context.useMessage,
|
2515
|
-
messageIndex
|
2516
|
-
);
|
2517
|
-
if (!newState) return;
|
2518
|
-
writableStore(context.useMessage).setState(newState, true);
|
2519
|
-
};
|
2520
|
-
syncMessage(threadMessagesStore.getState());
|
2521
|
-
return threadMessagesStore.subscribe(syncMessage);
|
2522
|
-
}, [threadMessagesStore, threadRuntime, context, messageIndex]);
|
2523
|
-
return context;
|
2428
|
+
})
|
2429
|
+
);
|
2430
|
+
return store;
|
2524
2431
|
};
|
2525
|
-
var
|
2526
|
-
|
2432
|
+
var MessageRuntimeProvider = ({
|
2433
|
+
runtime,
|
2527
2434
|
children
|
2528
2435
|
}) => {
|
2529
|
-
const
|
2436
|
+
const useMessageRuntime2 = useMessageRuntimeStore(runtime);
|
2437
|
+
const useMessage2 = useMessageStore2(runtime);
|
2438
|
+
const useMessageUtils2 = useMessageUtilsStore2();
|
2439
|
+
const useEditComposer2 = useEditComposerStore2(useMessageRuntime2);
|
2440
|
+
const [context] = _react.useState.call(void 0, () => {
|
2441
|
+
return { useMessageRuntime: useMessageRuntime2, useMessage: useMessage2, useMessageUtils: useMessageUtils2, useEditComposer: useEditComposer2 };
|
2442
|
+
});
|
2530
2443
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageContext.Provider, { value: context, children });
|
2531
2444
|
};
|
2532
2445
|
|
@@ -2564,7 +2477,7 @@ var getComponent3 = (components, role, isEditing) => {
|
|
2564
2477
|
var ThreadMessageComponent = ({
|
2565
2478
|
components
|
2566
2479
|
}) => {
|
2567
|
-
const role = useMessage((m) => m.
|
2480
|
+
const role = useMessage((m) => m.role);
|
2568
2481
|
const isEditing = useEditComposer((c) => c.isEditing);
|
2569
2482
|
const Component = getComponent3(components, role, isEditing);
|
2570
2483
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component, {});
|
@@ -2573,7 +2486,12 @@ var ThreadMessageImpl = ({
|
|
2573
2486
|
messageIndex,
|
2574
2487
|
components
|
2575
2488
|
}) => {
|
2576
|
-
|
2489
|
+
const threadRuntime = useThreadRuntime();
|
2490
|
+
const runtime = _react.useMemo.call(void 0,
|
2491
|
+
() => threadRuntime.unstable_getMesssageByIndex(messageIndex),
|
2492
|
+
[threadRuntime, messageIndex]
|
2493
|
+
);
|
2494
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageRuntimeProvider, { runtime, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadMessageComponent, { components }) });
|
2577
2495
|
};
|
2578
2496
|
var ThreadMessage = _react.memo.call(void 0,
|
2579
2497
|
ThreadMessageImpl,
|
@@ -2610,7 +2528,7 @@ var subscribeToMainThread = (runtime, callback) => {
|
|
2610
2528
|
let first = true;
|
2611
2529
|
let cleanup;
|
2612
2530
|
const inner = () => {
|
2613
|
-
_optionalChain([cleanup, 'optionalCall',
|
2531
|
+
_optionalChain([cleanup, 'optionalCall', _89 => _89()]);
|
2614
2532
|
cleanup = runtime.thread.subscribe(callback);
|
2615
2533
|
if (!first) {
|
2616
2534
|
callback();
|
@@ -2621,7 +2539,7 @@ var subscribeToMainThread = (runtime, callback) => {
|
|
2621
2539
|
inner();
|
2622
2540
|
return () => {
|
2623
2541
|
unsubscribe();
|
2624
|
-
_optionalChain([cleanup, 'optionalCall',
|
2542
|
+
_optionalChain([cleanup, 'optionalCall', _90 => _90()]);
|
2625
2543
|
};
|
2626
2544
|
};
|
2627
2545
|
|
@@ -2653,10 +2571,10 @@ var BaseAssistantRuntimeCore = (_class2 = class {
|
|
2653
2571
|
|
2654
2572
|
// src/internal.ts
|
2655
2573
|
var internal_exports = {};
|
2656
|
-
|
2574
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, internal_exports, {
|
2657
2575
|
AssistantRuntime: () => AssistantRuntime,
|
2658
2576
|
BaseAssistantRuntimeCore: () => BaseAssistantRuntimeCore,
|
2659
|
-
|
2577
|
+
BaseThreadComposerRuntimeCore: () => BaseThreadComposerRuntimeCore,
|
2660
2578
|
MessageRepository: () => MessageRepository,
|
2661
2579
|
ProxyConfigProvider: () => ProxyConfigProvider,
|
2662
2580
|
ThreadRuntime: () => ThreadRuntime,
|
@@ -2669,24 +2587,37 @@ _chunkDCHYNTHIjs.__export.call(void 0, internal_exports, {
|
|
2669
2587
|
|
2670
2588
|
// src/runtimes/utils/BaseThreadComposerRuntimeCore.tsx
|
2671
2589
|
var BaseThreadComposerRuntimeCore = (_class3 = class {
|
2672
|
-
constructor(runtime) {;_class3.prototype.__init7.call(this);_class3.prototype.__init8.call(this);_class3.prototype.__init9.call(this);_class3.prototype.__init10.call(this);
|
2590
|
+
constructor(runtime) {;_class3.prototype.__init7.call(this);_class3.prototype.__init8.call(this);_class3.prototype.__init9.call(this);_class3.prototype.__init10.call(this);_class3.prototype.__init11.call(this);
|
2673
2591
|
this.runtime = runtime;
|
2592
|
+
this.connect();
|
2674
2593
|
}
|
2675
2594
|
|
2676
2595
|
__init7() {this.attachmentAccept = "*"}
|
2677
2596
|
get isEmpty() {
|
2678
2597
|
return !this.text.trim() && !this.attachments.length;
|
2679
2598
|
}
|
2599
|
+
__init8() {this._canCancel = false}
|
2600
|
+
get canCancel() {
|
2601
|
+
return this._canCancel;
|
2602
|
+
}
|
2603
|
+
connect() {
|
2604
|
+
return this.runtime.subscribe(() => {
|
2605
|
+
if (this.canCancel !== this.runtime.capabilities.cancel) {
|
2606
|
+
this._canCancel = this.runtime.capabilities.cancel;
|
2607
|
+
this.notifySubscribers();
|
2608
|
+
}
|
2609
|
+
});
|
2610
|
+
}
|
2680
2611
|
setAttachmentAdapter(adapter) {
|
2681
2612
|
this._attachmentAdapter = adapter;
|
2682
|
-
const accept = _nullishCoalesce(_optionalChain([adapter, 'optionalAccess',
|
2613
|
+
const accept = _nullishCoalesce(_optionalChain([adapter, 'optionalAccess', _91 => _91.accept]), () => ( "*"));
|
2683
2614
|
if (this.attachmentAccept !== accept) {
|
2684
2615
|
this.attachmentAccept = accept;
|
2685
2616
|
return true;
|
2686
2617
|
}
|
2687
2618
|
return false;
|
2688
2619
|
}
|
2689
|
-
|
2620
|
+
__init9() {this._attachments = []}
|
2690
2621
|
get attachments() {
|
2691
2622
|
return this._attachments;
|
2692
2623
|
}
|
@@ -2707,7 +2638,7 @@ var BaseThreadComposerRuntimeCore = (_class3 = class {
|
|
2707
2638
|
this._attachments = this._attachments.toSpliced(index, 1);
|
2708
2639
|
this.notifySubscribers();
|
2709
2640
|
}
|
2710
|
-
|
2641
|
+
__init10() {this._text = ""}
|
2711
2642
|
get text() {
|
2712
2643
|
return this._text;
|
2713
2644
|
}
|
@@ -2727,14 +2658,17 @@ var BaseThreadComposerRuntimeCore = (_class3 = class {
|
|
2727
2658
|
)
|
2728
2659
|
) : [];
|
2729
2660
|
this.runtime.append({
|
2730
|
-
parentId: _nullishCoalesce(_optionalChain([this, 'access',
|
2661
|
+
parentId: _nullishCoalesce(_optionalChain([this, 'access', _92 => _92.runtime, 'access', _93 => _93.messages, 'access', _94 => _94.at, 'call', _95 => _95(-1), 'optionalAccess', _96 => _96.id]), () => ( null)),
|
2731
2662
|
role: "user",
|
2732
2663
|
content: this.text ? [{ type: "text", text: this.text }] : [],
|
2733
2664
|
attachments
|
2734
2665
|
});
|
2735
2666
|
this.reset();
|
2736
2667
|
}
|
2737
|
-
|
2668
|
+
async cancel() {
|
2669
|
+
this.runtime.cancelRun();
|
2670
|
+
}
|
2671
|
+
__init11() {this._subscriptions = /* @__PURE__ */ new Set()}
|
2738
2672
|
notifySubscribers() {
|
2739
2673
|
for (const callback of this._subscriptions) callback();
|
2740
2674
|
}
|
@@ -2745,10 +2679,10 @@ var BaseThreadComposerRuntimeCore = (_class3 = class {
|
|
2745
2679
|
}, _class3);
|
2746
2680
|
|
2747
2681
|
// src/utils/ProxyConfigProvider.ts
|
2748
|
-
var ProxyConfigProvider = (_class4 = class {constructor() { _class4.prototype.
|
2749
|
-
|
2682
|
+
var ProxyConfigProvider = (_class4 = class {constructor() { _class4.prototype.__init12.call(this); }
|
2683
|
+
__init12() {this._providers = /* @__PURE__ */ new Set()}
|
2750
2684
|
getModelConfig() {
|
2751
|
-
return
|
2685
|
+
return _chunk5KIEXJRKjs.mergeModelConfigs.call(void 0, this._providers);
|
2752
2686
|
}
|
2753
2687
|
registerModelConfigProvider(provider) {
|
2754
2688
|
this._providers.add(provider);
|
@@ -2823,11 +2757,11 @@ var findHead = (message) => {
|
|
2823
2757
|
if ("current" in message) return message;
|
2824
2758
|
return null;
|
2825
2759
|
};
|
2826
|
-
var MessageRepository = (_class5 = class {constructor() { _class5.prototype.
|
2827
|
-
|
2760
|
+
var MessageRepository = (_class5 = class {constructor() { _class5.prototype.__init13.call(this);_class5.prototype.__init14.call(this);_class5.prototype.__init15.call(this); }
|
2761
|
+
__init13() {this.messages = /* @__PURE__ */ new Map()}
|
2828
2762
|
// message_id -> item
|
2829
|
-
|
2830
|
-
|
2763
|
+
__init14() {this.head = null}
|
2764
|
+
__init15() {this.root = {
|
2831
2765
|
children: [],
|
2832
2766
|
next: null
|
2833
2767
|
}}
|
@@ -2869,7 +2803,7 @@ var MessageRepository = (_class5 = class {constructor() { _class5.prototype.__in
|
|
2869
2803
|
}
|
2870
2804
|
}
|
2871
2805
|
getMessages() {
|
2872
|
-
const messages = new Array(_nullishCoalesce(_optionalChain([this, 'access',
|
2806
|
+
const messages = new Array(_nullishCoalesce(_optionalChain([this, 'access', _97 => _97.head, 'optionalAccess', _98 => _98.level]), () => ( 0)));
|
2873
2807
|
for (let current = this.head; current; current = current.prev) {
|
2874
2808
|
messages[current.level] = current.current;
|
2875
2809
|
}
|
@@ -2907,7 +2841,7 @@ var MessageRepository = (_class5 = class {constructor() { _class5.prototype.__in
|
|
2907
2841
|
"MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui."
|
2908
2842
|
);
|
2909
2843
|
return {
|
2910
|
-
parentId: _nullishCoalesce(_optionalChain([message, 'access',
|
2844
|
+
parentId: _nullishCoalesce(_optionalChain([message, 'access', _99 => _99.prev, 'optionalAccess', _100 => _100.current, 'access', _101 => _101.id]), () => ( null)),
|
2911
2845
|
message: message.current
|
2912
2846
|
};
|
2913
2847
|
}
|
@@ -2991,11 +2925,11 @@ var MessageRepository = (_class5 = class {constructor() { _class5.prototype.__in
|
|
2991
2925
|
for (const [, message] of this.messages) {
|
2992
2926
|
exportItems.push({
|
2993
2927
|
message: message.current,
|
2994
|
-
parentId: _nullishCoalesce(_optionalChain([message, 'access',
|
2928
|
+
parentId: _nullishCoalesce(_optionalChain([message, 'access', _102 => _102.prev, 'optionalAccess', _103 => _103.current, 'access', _104 => _104.id]), () => ( null))
|
2995
2929
|
});
|
2996
2930
|
}
|
2997
2931
|
return {
|
2998
|
-
headId: _nullishCoalesce(_optionalChain([this, 'access',
|
2932
|
+
headId: _nullishCoalesce(_optionalChain([this, 'access', _105 => _105.head, 'optionalAccess', _106 => _106.current, 'access', _107 => _107.id]), () => ( null)),
|
2999
2933
|
messages: exportItems
|
3000
2934
|
};
|
3001
2935
|
}
|
@@ -3003,7 +2937,7 @@ var MessageRepository = (_class5 = class {constructor() { _class5.prototype.__in
|
|
3003
2937
|
for (const { message, parentId } of messages) {
|
3004
2938
|
this.addOrUpdateMessage(parentId, message);
|
3005
2939
|
}
|
3006
|
-
this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages, 'access',
|
2940
|
+
this.resetHead(_nullishCoalesce(_nullishCoalesce(headId, () => ( _optionalChain([messages, 'access', _108 => _108.at, 'call', _109 => _109(-1), 'optionalAccess', _110 => _110.message, 'access', _111 => _111.id]))), () => ( null)));
|
3007
2941
|
}
|
3008
2942
|
}, _class5);
|
3009
2943
|
|
@@ -3104,8 +3038,8 @@ var TooltipIconButton = _react.forwardRef.call(void 0, ({ children, tooltip, sid
|
|
3104
3038
|
TooltipIconButton.displayName = "TooltipIconButton";
|
3105
3039
|
|
3106
3040
|
// src/api/subscribable/BaseSubject.ts
|
3107
|
-
var BaseSubject = (_class6 = class {constructor() { _class6.prototype.
|
3108
|
-
|
3041
|
+
var BaseSubject = (_class6 = class {constructor() { _class6.prototype.__init16.call(this); }
|
3042
|
+
__init16() {this._subscriptions = /* @__PURE__ */ new Set()}
|
3109
3043
|
|
3110
3044
|
get isConnected() {
|
3111
3045
|
return !!this._connection;
|
@@ -3118,7 +3052,7 @@ var BaseSubject = (_class6 = class {constructor() { _class6.prototype.__init15.c
|
|
3118
3052
|
if (this._connection) return;
|
3119
3053
|
this._connection = this._connect();
|
3120
3054
|
} else {
|
3121
|
-
_optionalChain([this, 'access',
|
3055
|
+
_optionalChain([this, 'access', _112 => _112._connection, 'optionalCall', _113 => _113()]);
|
3122
3056
|
this._connection = void 0;
|
3123
3057
|
}
|
3124
3058
|
}
|
@@ -3151,13 +3085,13 @@ var NestedSubscriptionSubject = class extends BaseSubject {
|
|
3151
3085
|
const newState = this.binding.getState();
|
3152
3086
|
if (newState === lastState) return;
|
3153
3087
|
lastState = newState;
|
3154
|
-
_optionalChain([innerUnsubscribe, 'optionalCall',
|
3088
|
+
_optionalChain([innerUnsubscribe, 'optionalCall', _114 => _114()]);
|
3155
3089
|
innerUnsubscribe = this.binding.getState().subscribe(callback);
|
3156
3090
|
callback();
|
3157
3091
|
};
|
3158
3092
|
const outerUnsubscribe = this.binding.subscribe(onRuntimeUpdate);
|
3159
3093
|
return () => {
|
3160
|
-
_optionalChain([outerUnsubscribe, 'optionalCall',
|
3094
|
+
_optionalChain([outerUnsubscribe, 'optionalCall', _115 => _115()]);
|
3161
3095
|
innerUnsubscribe();
|
3162
3096
|
};
|
3163
3097
|
}
|
@@ -3213,7 +3147,7 @@ var ContentPartRuntime = class {
|
|
3213
3147
|
const toolName = state.part.toolName;
|
3214
3148
|
const toolCallId = state.part.toolCallId;
|
3215
3149
|
this.threadApi.getState().addToolResult({
|
3216
|
-
messageId: message.
|
3150
|
+
messageId: message.id,
|
3217
3151
|
toolName,
|
3218
3152
|
toolCallId,
|
3219
3153
|
result
|
@@ -3237,7 +3171,7 @@ function shallowEqual(objA, objB) {
|
|
3237
3171
|
// src/api/subscribable/ShallowMemoizeSubject.ts
|
3238
3172
|
var ShallowMemoizeSubject = (_class7 = class extends BaseSubject {
|
3239
3173
|
constructor(binding) {
|
3240
|
-
super();_class7.prototype.
|
3174
|
+
super();_class7.prototype.__init17.call(this);;
|
3241
3175
|
this.binding = binding;
|
3242
3176
|
const state = binding.getState();
|
3243
3177
|
if (state === void 0)
|
@@ -3245,7 +3179,7 @@ var ShallowMemoizeSubject = (_class7 = class extends BaseSubject {
|
|
3245
3179
|
this._previousState = state;
|
3246
3180
|
}
|
3247
3181
|
|
3248
|
-
|
3182
|
+
__init17() {this.getState = () => {
|
3249
3183
|
if (!this.isConnected) this._syncState();
|
3250
3184
|
return this._previousState;
|
3251
3185
|
}}
|
@@ -3267,60 +3201,13 @@ var ShallowMemoizeSubject = (_class7 = class extends BaseSubject {
|
|
3267
3201
|
}, _class7);
|
3268
3202
|
|
3269
3203
|
// src/api/MessageRuntime.ts
|
3270
|
-
var MessageState = class {
|
3271
|
-
constructor(snapshot) {
|
3272
|
-
this.snapshot = snapshot;
|
3273
|
-
}
|
3274
|
-
/**
|
3275
|
-
* @deprecated Replace `.message.content` with `.content` etc. This will be removed in 0.6.0.
|
3276
|
-
*/
|
3277
|
-
get message() {
|
3278
|
-
return this.snapshot.message;
|
3279
|
-
}
|
3280
|
-
get id() {
|
3281
|
-
return this.snapshot.message.id;
|
3282
|
-
}
|
3283
|
-
get createdAt() {
|
3284
|
-
return this.snapshot.message.createdAt;
|
3285
|
-
}
|
3286
|
-
get role() {
|
3287
|
-
return this.snapshot.message.role;
|
3288
|
-
}
|
3289
|
-
get content() {
|
3290
|
-
return this.snapshot.message.content;
|
3291
|
-
}
|
3292
|
-
get attachments() {
|
3293
|
-
return this.snapshot.message.attachments;
|
3294
|
-
}
|
3295
|
-
get metadata() {
|
3296
|
-
return this.snapshot.message.metadata;
|
3297
|
-
}
|
3298
|
-
get status() {
|
3299
|
-
return this.snapshot.message.status;
|
3300
|
-
}
|
3301
|
-
get parentId() {
|
3302
|
-
return this.snapshot.parentId;
|
3303
|
-
}
|
3304
|
-
get isLast() {
|
3305
|
-
return this.snapshot.isLast;
|
3306
|
-
}
|
3307
|
-
get branches() {
|
3308
|
-
return this.snapshot.branches;
|
3309
|
-
}
|
3310
|
-
get branchNumber() {
|
3311
|
-
return this.snapshot.branchNumber;
|
3312
|
-
}
|
3313
|
-
get branchCount() {
|
3314
|
-
return this.snapshot.branchCount;
|
3315
|
-
}
|
3316
|
-
};
|
3317
3204
|
var MessageRuntime = class {
|
3318
3205
|
constructor(_core, _threadBinding) {
|
3319
3206
|
this._core = _core;
|
3320
3207
|
this._threadBinding = _threadBinding;
|
3321
3208
|
}
|
3322
3209
|
getState() {
|
3323
|
-
return
|
3210
|
+
return this._core.getState();
|
3324
3211
|
}
|
3325
3212
|
// TODO improve type
|
3326
3213
|
edit(message) {
|
@@ -3339,13 +3226,13 @@ var MessageRuntime = class {
|
|
3339
3226
|
speak() {
|
3340
3227
|
const state = this._core.getState();
|
3341
3228
|
if (!state) throw new Error("Message is not available");
|
3342
|
-
this._threadBinding.getState().speak(state.
|
3229
|
+
this._threadBinding.getState().speak(state.id);
|
3343
3230
|
}
|
3344
3231
|
submitFeedback({ type }) {
|
3345
3232
|
const state = this._core.getState();
|
3346
3233
|
if (!state) throw new Error("Message is not available");
|
3347
3234
|
this._threadBinding.getState().submitFeedback({
|
3348
|
-
messageId: state.
|
3235
|
+
messageId: state.id,
|
3349
3236
|
type
|
3350
3237
|
});
|
3351
3238
|
}
|
@@ -3361,7 +3248,7 @@ var MessageRuntime = class {
|
|
3361
3248
|
throw new Error("Must specify either branchId or position");
|
3362
3249
|
}
|
3363
3250
|
const thread = this._threadBinding.getState();
|
3364
|
-
const branches = thread.getBranches(state.
|
3251
|
+
const branches = thread.getBranches(state.id);
|
3365
3252
|
let targetBranch = branchId;
|
3366
3253
|
if (position === "previous") {
|
3367
3254
|
targetBranch = branches[state.branchNumber - 2];
|
@@ -3398,27 +3285,18 @@ var MessageRuntime = class {
|
|
3398
3285
|
};
|
3399
3286
|
|
3400
3287
|
// src/api/ThreadComposerRuntime.ts
|
3401
|
-
var
|
3402
|
-
|
3403
|
-
|
3404
|
-
|
3405
|
-
|
3406
|
-
|
3407
|
-
|
3408
|
-
|
3409
|
-
return this._composerBinding.getState().text;
|
3410
|
-
}
|
3411
|
-
get attachmentAccept() {
|
3412
|
-
return this._composerBinding.getState().attachmentAccept;
|
3413
|
-
}
|
3414
|
-
get attachments() {
|
3415
|
-
return this._composerBinding.getState().attachments;
|
3416
|
-
}
|
3288
|
+
var getThreadComposerState = (runtime) => {
|
3289
|
+
return Object.freeze({
|
3290
|
+
canCancel: runtime.canCancel,
|
3291
|
+
isEmpty: runtime.isEmpty,
|
3292
|
+
text: runtime.text,
|
3293
|
+
attachments: runtime.attachments,
|
3294
|
+
attachmentAccept: runtime.attachmentAccept
|
3295
|
+
});
|
3417
3296
|
};
|
3418
3297
|
var ThreadComposerRuntime = class {
|
3419
3298
|
constructor(_core) {
|
3420
3299
|
this._core = _core;
|
3421
|
-
this._state = new ComposerState(_core);
|
3422
3300
|
}
|
3423
3301
|
/**
|
3424
3302
|
* @deprecated Use `getState().isEmpty` instead. This will be removed in 0.6.0.
|
@@ -3426,6 +3304,12 @@ var ThreadComposerRuntime = class {
|
|
3426
3304
|
get isEmpty() {
|
3427
3305
|
return this._core.getState().isEmpty;
|
3428
3306
|
}
|
3307
|
+
/**
|
3308
|
+
* @deprecated Use `getState().canCancel` instead. This will be removed in 0.6.0.
|
3309
|
+
*/
|
3310
|
+
get canCancel() {
|
3311
|
+
return this._core.getState().canCancel;
|
3312
|
+
}
|
3429
3313
|
/**
|
3430
3314
|
* @deprecated Use `getState().text` instead. This will be removed in 0.6.0.
|
3431
3315
|
*/
|
@@ -3445,9 +3329,8 @@ var ThreadComposerRuntime = class {
|
|
3445
3329
|
get attachments() {
|
3446
3330
|
return this._core.getState().attachments;
|
3447
3331
|
}
|
3448
|
-
|
3449
3332
|
getState() {
|
3450
|
-
return this.
|
3333
|
+
return getThreadComposerState(this._core.getState());
|
3451
3334
|
}
|
3452
3335
|
setText(text) {
|
3453
3336
|
this._core.getState().setText(text);
|
@@ -3470,33 +3353,46 @@ var ThreadComposerRuntime = class {
|
|
3470
3353
|
send() {
|
3471
3354
|
this._core.getState().send();
|
3472
3355
|
}
|
3356
|
+
cancel() {
|
3357
|
+
this._core.getState().cancel();
|
3358
|
+
}
|
3473
3359
|
subscribe(callback) {
|
3474
3360
|
return this._core.subscribe(callback);
|
3475
3361
|
}
|
3476
3362
|
};
|
3477
3363
|
|
3478
3364
|
// src/api/ThreadRuntime.ts
|
3479
|
-
var
|
3480
|
-
|
3481
|
-
|
3482
|
-
|
3483
|
-
|
3484
|
-
|
3485
|
-
|
3486
|
-
|
3487
|
-
return this._core.isDisabled;
|
3488
|
-
}
|
3489
|
-
get isRunning() {
|
3490
|
-
const messages = this._core.messages;
|
3491
|
-
const lastMessage = messages[messages.length - 1];
|
3492
|
-
return _optionalChain([lastMessage, 'optionalAccess', _133 => _133.role]) !== "assistant" ? false : lastMessage.status.type === "running";
|
3365
|
+
var toAppendMessage = (messages, message) => {
|
3366
|
+
if (typeof message === "string") {
|
3367
|
+
return {
|
3368
|
+
parentId: _nullishCoalesce(_optionalChain([messages, 'access', _116 => _116.at, 'call', _117 => _117(-1), 'optionalAccess', _118 => _118.id]), () => ( null)),
|
3369
|
+
role: "user",
|
3370
|
+
content: [{ type: "text", text: message }],
|
3371
|
+
attachments: []
|
3372
|
+
};
|
3493
3373
|
}
|
3494
|
-
|
3495
|
-
return
|
3374
|
+
if (message.role && message.parentId && message.attachments) {
|
3375
|
+
return message;
|
3496
3376
|
}
|
3377
|
+
return {
|
3378
|
+
parentId: _nullishCoalesce(_nullishCoalesce(message.parentId, () => ( _optionalChain([messages, 'access', _119 => _119.at, 'call', _120 => _120(-1), 'optionalAccess', _121 => _121.id]))), () => ( null)),
|
3379
|
+
role: _nullishCoalesce(message.role, () => ( "user")),
|
3380
|
+
content: message.content,
|
3381
|
+
attachments: _nullishCoalesce(message.attachments, () => ( []))
|
3382
|
+
};
|
3383
|
+
};
|
3384
|
+
var getThreadState = (runtime) => {
|
3385
|
+
const lastMessage = runtime.messages.at(-1);
|
3386
|
+
return Object.freeze({
|
3387
|
+
threadId: runtime.threadId,
|
3388
|
+
capabilities: runtime.capabilities,
|
3389
|
+
isDisabled: runtime.isDisabled,
|
3390
|
+
isRunning: _optionalChain([lastMessage, 'optionalAccess', _122 => _122.role]) !== "assistant" ? false : lastMessage.status.type === "running",
|
3391
|
+
unstable_synchronizer: runtime.unstable_synchronizer
|
3392
|
+
});
|
3497
3393
|
};
|
3498
3394
|
var ThreadRuntime = (_class8 = class {
|
3499
|
-
constructor(_threadBinding) {;_class8.prototype.
|
3395
|
+
constructor(_threadBinding) {;_class8.prototype.__init18.call(this);
|
3500
3396
|
this._threadBinding = _threadBinding;
|
3501
3397
|
}
|
3502
3398
|
// public path = "assistant.threads[main]"; // TODO
|
@@ -3531,17 +3427,19 @@ var ThreadRuntime = (_class8 = class {
|
|
3531
3427
|
unstable_getCore() {
|
3532
3428
|
return this._threadBinding.getState();
|
3533
3429
|
}
|
3534
|
-
|
3430
|
+
__init18() {this.composer = new ThreadComposerRuntime(
|
3535
3431
|
new NestedSubscriptionSubject({
|
3536
3432
|
getState: () => this._threadBinding.getState().composer,
|
3537
3433
|
subscribe: (callback) => this._threadBinding.subscribe(callback)
|
3538
3434
|
})
|
3539
3435
|
)}
|
3540
3436
|
getState() {
|
3541
|
-
return
|
3437
|
+
return getThreadState(this._threadBinding.getState());
|
3542
3438
|
}
|
3543
3439
|
append(message) {
|
3544
|
-
this._threadBinding.getState().append(
|
3440
|
+
this._threadBinding.getState().append(
|
3441
|
+
toAppendMessage(this._threadBinding.getState().messages, message)
|
3442
|
+
);
|
3545
3443
|
}
|
3546
3444
|
subscribe(callback) {
|
3547
3445
|
return this._threadBinding.subscribe(callback);
|
@@ -3601,9 +3499,10 @@ var ThreadRuntime = (_class8 = class {
|
|
3601
3499
|
if (!message) return void 0;
|
3602
3500
|
const branches = this._threadBinding.getState().getBranches(message.id);
|
3603
3501
|
return {
|
3502
|
+
...message,
|
3604
3503
|
message,
|
3605
3504
|
isLast: idx === messages.length - 1,
|
3606
|
-
parentId: _nullishCoalesce(_optionalChain([messages, 'access',
|
3505
|
+
parentId: _nullishCoalesce(_optionalChain([messages, 'access', _123 => _123[idx - 1], 'optionalAccess', _124 => _124.id]), () => ( null)),
|
3607
3506
|
branches,
|
3608
3507
|
branchNumber: branches.indexOf(message.id) + 1,
|
3609
3508
|
branchCount: branches.length
|
@@ -3679,7 +3578,7 @@ var fromLanguageModelMessages = (lm, { mergeRoundtrips }) => {
|
|
3679
3578
|
});
|
3680
3579
|
if (mergeRoundtrips) {
|
3681
3580
|
const previousMessage = messages[messages.length - 1];
|
3682
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
3581
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _125 => _125.role]) === "assistant") {
|
3683
3582
|
previousMessage.content.push(...newContent);
|
3684
3583
|
break;
|
3685
3584
|
}
|
@@ -3692,7 +3591,7 @@ var fromLanguageModelMessages = (lm, { mergeRoundtrips }) => {
|
|
3692
3591
|
}
|
3693
3592
|
case "tool": {
|
3694
3593
|
const previousMessage = messages[messages.length - 1];
|
3695
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
3594
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _126 => _126.role]) !== "assistant")
|
3696
3595
|
throw new Error(
|
3697
3596
|
"A tool message must be preceded by an assistant message."
|
3698
3597
|
);
|
@@ -3768,14 +3667,14 @@ function streamPartDecoderStream() {
|
|
3768
3667
|
controller.enqueue(decodeStreamPart(chunk));
|
3769
3668
|
}
|
3770
3669
|
});
|
3771
|
-
return new (0,
|
3670
|
+
return new (0, _chunk5KIEXJRKjs.PipeableTransformStream)((readable) => {
|
3772
3671
|
return readable.pipeThrough(new TextDecoderStream()).pipeThrough(chunkByLineStream()).pipeThrough(decodeStream);
|
3773
3672
|
});
|
3774
3673
|
}
|
3775
3674
|
|
3776
3675
|
// src/runtimes/edge/streams/utils/index.ts
|
3777
3676
|
var streamUtils = {
|
3778
|
-
streamPartEncoderStream:
|
3677
|
+
streamPartEncoderStream: _chunk5KIEXJRKjs.streamPartEncoderStream,
|
3779
3678
|
streamPartDecoderStream
|
3780
3679
|
};
|
3781
3680
|
|
@@ -3884,8 +3783,8 @@ var EdgeChatAdapter = class {
|
|
3884
3783
|
credentials: _nullishCoalesce(this.options.credentials, () => ( "same-origin")),
|
3885
3784
|
body: JSON.stringify({
|
3886
3785
|
system: config.system,
|
3887
|
-
messages:
|
3888
|
-
tools: config.tools ?
|
3786
|
+
messages: _chunk5KIEXJRKjs.toCoreMessages.call(void 0, messages),
|
3787
|
+
tools: config.tools ? _chunk5KIEXJRKjs.toLanguageModelTools.call(void 0, config.tools) : [],
|
3889
3788
|
...config.callSettings,
|
3890
3789
|
...config.config,
|
3891
3790
|
...this.options.body
|
@@ -3895,7 +3794,7 @@ var EdgeChatAdapter = class {
|
|
3895
3794
|
if (result.status !== 200) {
|
3896
3795
|
throw new Error(`Status ${result.status}: ${await result.text()}`);
|
3897
3796
|
}
|
3898
|
-
const stream = result.body.pipeThrough(streamPartDecoderStream()).pipeThrough(assistantDecoderStream()).pipeThrough(
|
3797
|
+
const stream = result.body.pipeThrough(streamPartDecoderStream()).pipeThrough(assistantDecoderStream()).pipeThrough(_chunk5KIEXJRKjs.toolResultStream.call(void 0, config.tools, abortSignal)).pipeThrough(_chunk5KIEXJRKjs.runResultStream.call(void 0, ));
|
3899
3798
|
let update;
|
3900
3799
|
for await (update of asAsyncIterable(stream)) {
|
3901
3800
|
yield update;
|
@@ -3921,11 +3820,11 @@ var useEdgeRuntime = ({
|
|
3921
3820
|
};
|
3922
3821
|
|
3923
3822
|
// src/runtimes/local/shouldContinue.tsx
|
3924
|
-
var shouldContinue = (result) => _optionalChain([result, 'access',
|
3823
|
+
var shouldContinue = (result) => _optionalChain([result, 'access', _127 => _127.status, 'optionalAccess', _128 => _128.type]) === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
|
3925
3824
|
|
3926
3825
|
// src/runtimes/local/LocalThreadRuntimeCore.tsx
|
3927
3826
|
var LocalThreadRuntimeCore = (_class9 = class {
|
3928
|
-
constructor(configProvider, adapter, { initialMessages, ...options }) {;_class9.prototype.
|
3827
|
+
constructor(configProvider, adapter, { initialMessages, ...options }) {;_class9.prototype.__init19.call(this);_class9.prototype.__init20.call(this);_class9.prototype.__init21.call(this);_class9.prototype.__init22.call(this);_class9.prototype.__init23.call(this);_class9.prototype.__init24.call(this);
|
3929
3828
|
this.configProvider = configProvider;
|
3930
3829
|
this.adapter = adapter;
|
3931
3830
|
this.threadId = generateId();
|
@@ -3939,10 +3838,10 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
3939
3838
|
}
|
3940
3839
|
}
|
3941
3840
|
}
|
3942
|
-
|
3943
|
-
|
3944
|
-
|
3945
|
-
|
3841
|
+
__init19() {this._subscriptions = /* @__PURE__ */ new Set()}
|
3842
|
+
__init20() {this.abortController = null}
|
3843
|
+
__init21() {this.repository = new MessageRepository()}
|
3844
|
+
__init22() {this.capabilities = {
|
3946
3845
|
switchToBranch: true,
|
3947
3846
|
edit: true,
|
3948
3847
|
reload: true,
|
@@ -3953,11 +3852,11 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
3953
3852
|
feedback: false
|
3954
3853
|
}}
|
3955
3854
|
|
3956
|
-
|
3855
|
+
__init23() {this.isDisabled = false}
|
3957
3856
|
get messages() {
|
3958
3857
|
return this.repository.getMessages();
|
3959
3858
|
}
|
3960
|
-
|
3859
|
+
__init24() {this.composer = new BaseThreadComposerRuntimeCore(this)}
|
3961
3860
|
getModelConfig() {
|
3962
3861
|
return this.configProvider.getModelConfig();
|
3963
3862
|
}
|
@@ -3968,18 +3867,18 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
3968
3867
|
set options({ initialMessages, ...options }) {
|
3969
3868
|
this._options = options;
|
3970
3869
|
let hasUpdates = false;
|
3971
|
-
const canSpeak = _optionalChain([options, 'access',
|
3870
|
+
const canSpeak = _optionalChain([options, 'access', _129 => _129.adapters, 'optionalAccess', _130 => _130.speech]) !== void 0;
|
3972
3871
|
if (this.capabilities.speak !== canSpeak) {
|
3973
3872
|
this.capabilities.speak = canSpeak;
|
3974
3873
|
hasUpdates = true;
|
3975
3874
|
}
|
3976
|
-
this.composer.setAttachmentAdapter(_optionalChain([options, 'access',
|
3977
|
-
const canAttach = _optionalChain([options, 'access',
|
3875
|
+
this.composer.setAttachmentAdapter(_optionalChain([options, 'access', _131 => _131.adapters, 'optionalAccess', _132 => _132.attachments]));
|
3876
|
+
const canAttach = _optionalChain([options, 'access', _133 => _133.adapters, 'optionalAccess', _134 => _134.attachments]) !== void 0;
|
3978
3877
|
if (this.capabilities.attachments !== canAttach) {
|
3979
3878
|
this.capabilities.attachments = canAttach;
|
3980
3879
|
hasUpdates = true;
|
3981
3880
|
}
|
3982
|
-
const canFeedback = _optionalChain([options, 'access',
|
3881
|
+
const canFeedback = _optionalChain([options, 'access', _135 => _135.adapters, 'optionalAccess', _136 => _136.feedback]) !== void 0;
|
3983
3882
|
if (this.capabilities.feedback !== canFeedback) {
|
3984
3883
|
this.capabilities.feedback = canFeedback;
|
3985
3884
|
hasUpdates = true;
|
@@ -4021,18 +3920,18 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
4021
3920
|
}
|
4022
3921
|
async performRoundtrip(parentId, message) {
|
4023
3922
|
const messages = this.repository.getMessages();
|
4024
|
-
_optionalChain([this, 'access',
|
3923
|
+
_optionalChain([this, 'access', _137 => _137.abortController, 'optionalAccess', _138 => _138.abort, 'call', _139 => _139()]);
|
4025
3924
|
this.abortController = new AbortController();
|
4026
3925
|
const initialContent = message.content;
|
4027
|
-
const initialRoundtrips = _optionalChain([message, 'access',
|
4028
|
-
const initalCustom = _optionalChain([message, 'access',
|
3926
|
+
const initialRoundtrips = _optionalChain([message, 'access', _140 => _140.metadata, 'optionalAccess', _141 => _141.roundtrips]);
|
3927
|
+
const initalCustom = _optionalChain([message, 'access', _142 => _142.metadata, 'optionalAccess', _143 => _143.custom]);
|
4029
3928
|
const updateMessage = (m) => {
|
4030
3929
|
message = {
|
4031
3930
|
...message,
|
4032
3931
|
...m.content ? { content: [...initialContent, ..._nullishCoalesce(m.content, () => ( []))] } : void 0,
|
4033
3932
|
status: _nullishCoalesce(m.status, () => ( message.status)),
|
4034
3933
|
// TODO deprecated, remove in v0.6
|
4035
|
-
..._optionalChain([m, 'access',
|
3934
|
+
..._optionalChain([m, 'access', _144 => _144.metadata, 'optionalAccess', _145 => _145.roundtrips]) ? {
|
4036
3935
|
roundtrips: [
|
4037
3936
|
..._nullishCoalesce(initialRoundtrips, () => ( [])),
|
4038
3937
|
...m.metadata.roundtrips
|
@@ -4047,7 +3946,7 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
4047
3946
|
...m.metadata.roundtrips
|
4048
3947
|
]
|
4049
3948
|
} : void 0,
|
4050
|
-
..._optionalChain([m, 'access',
|
3949
|
+
..._optionalChain([m, 'access', _146 => _146.metadata, 'optionalAccess', _147 => _147.custom]) ? {
|
4051
3950
|
custom: { ..._nullishCoalesce(initalCustom, () => ( {})), ...m.metadata.custom }
|
4052
3951
|
} : void 0
|
4053
3952
|
}
|
@@ -4057,7 +3956,7 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
4057
3956
|
this.notifySubscribers();
|
4058
3957
|
};
|
4059
3958
|
const maxToolRoundtrips = _nullishCoalesce(this.options.maxToolRoundtrips, () => ( 1));
|
4060
|
-
const toolRoundtrips = _nullishCoalesce(_optionalChain([message, 'access',
|
3959
|
+
const toolRoundtrips = _nullishCoalesce(_optionalChain([message, 'access', _148 => _148.metadata, 'optionalAccess', _149 => _149.roundtrips, 'optionalAccess', _150 => _150.length]), () => ( 0));
|
4061
3960
|
if (toolRoundtrips > maxToolRoundtrips) {
|
4062
3961
|
updateMessage({
|
4063
3962
|
status: {
|
@@ -4156,7 +4055,7 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
4156
4055
|
// TODO lift utterance state to thread runtime
|
4157
4056
|
|
4158
4057
|
speak(messageId) {
|
4159
|
-
const adapter = _optionalChain([this, 'access',
|
4058
|
+
const adapter = _optionalChain([this, 'access', _151 => _151.options, 'access', _152 => _152.adapters, 'optionalAccess', _153 => _153.speech]);
|
4160
4059
|
if (!adapter) throw new Error("Speech adapter not configured");
|
4161
4060
|
const { message } = this.repository.getMessage(messageId);
|
4162
4061
|
if (this._utterance) {
|
@@ -4173,7 +4072,7 @@ var LocalThreadRuntimeCore = (_class9 = class {
|
|
4173
4072
|
return this._utterance;
|
4174
4073
|
}
|
4175
4074
|
submitFeedback({ messageId, type }) {
|
4176
|
-
const adapter = _optionalChain([this, 'access',
|
4075
|
+
const adapter = _optionalChain([this, 'access', _154 => _154.options, 'access', _155 => _155.adapters, 'optionalAccess', _156 => _156.feedback]);
|
4177
4076
|
if (!adapter) throw new Error("Feedback adapter not configured");
|
4178
4077
|
const { message } = this.repository.getMessage(messageId);
|
4179
4078
|
adapter.submit({ message, type });
|
@@ -4220,7 +4119,7 @@ var LocalRuntimeCore = class extends BaseAssistantRuntimeCore {
|
|
4220
4119
|
const messages = fromCoreMessages(initialMessages);
|
4221
4120
|
this.thread.import({
|
4222
4121
|
messages: messages.map((m, idx) => ({
|
4223
|
-
parentId: _nullishCoalesce(_optionalChain([messages, 'access',
|
4122
|
+
parentId: _nullishCoalesce(_optionalChain([messages, 'access', _157 => _157[idx - 1], 'optionalAccess', _158 => _158.id]), () => ( null)),
|
4224
4123
|
message: m
|
4225
4124
|
}))
|
4226
4125
|
});
|
@@ -4256,8 +4155,8 @@ var getExternalStoreMessage = (message) => {
|
|
4256
4155
|
};
|
4257
4156
|
|
4258
4157
|
// src/runtimes/external-store/ThreadMessageConverter.ts
|
4259
|
-
var ThreadMessageConverter = (_class10 = class {constructor() { _class10.prototype.
|
4260
|
-
|
4158
|
+
var ThreadMessageConverter = (_class10 = class {constructor() { _class10.prototype.__init25.call(this); }
|
4159
|
+
__init25() {this.cache = /* @__PURE__ */ new WeakMap()}
|
4261
4160
|
convertMessages(messages, converter) {
|
4262
4161
|
return messages.map((m, idx) => {
|
4263
4162
|
const cached = this.cache.get(m);
|
@@ -4353,17 +4252,17 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
|
4353
4252
|
|
4354
4253
|
// src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx
|
4355
4254
|
var hasUpcomingMessage = (isRunning, messages) => {
|
4356
|
-
return isRunning && _optionalChain([messages, 'access',
|
4255
|
+
return isRunning && _optionalChain([messages, 'access', _159 => _159[messages.length - 1], 'optionalAccess', _160 => _160.role]) !== "assistant";
|
4357
4256
|
};
|
4358
4257
|
var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
4359
|
-
constructor(configProvider, store) {;_class11.prototype.
|
4258
|
+
constructor(configProvider, store) {;_class11.prototype.__init26.call(this);_class11.prototype.__init27.call(this);_class11.prototype.__init28.call(this);_class11.prototype.__init29.call(this);_class11.prototype.__init30.call(this);_class11.prototype.__init31.call(this);_class11.prototype.__init32.call(this);
|
4360
4259
|
this.configProvider = configProvider;
|
4361
4260
|
this.store = store;
|
4362
4261
|
}
|
4363
|
-
|
4364
|
-
|
4365
|
-
|
4366
|
-
|
4262
|
+
__init26() {this._subscriptions = /* @__PURE__ */ new Set()}
|
4263
|
+
__init27() {this.repository = new MessageRepository()}
|
4264
|
+
__init28() {this.assistantOptimisticId = null}
|
4265
|
+
__init29() {this._capabilities = {
|
4367
4266
|
switchToBranch: false,
|
4368
4267
|
edit: false,
|
4369
4268
|
reload: false,
|
@@ -4379,9 +4278,9 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4379
4278
|
|
4380
4279
|
|
4381
4280
|
|
4382
|
-
|
4281
|
+
__init30() {this.converter = new ThreadMessageConverter()}
|
4383
4282
|
|
4384
|
-
|
4283
|
+
__init31() {this.composer = new BaseThreadComposerRuntimeCore(this)}
|
4385
4284
|
get store() {
|
4386
4285
|
return this._store;
|
4387
4286
|
}
|
@@ -4398,12 +4297,12 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4398
4297
|
reload: this._store.onReload !== void 0,
|
4399
4298
|
cancel: this._store.onCancel !== void 0,
|
4400
4299
|
speak: this._store.onSpeak !== void 0,
|
4401
|
-
unstable_copy: _optionalChain([this, 'access',
|
4300
|
+
unstable_copy: _optionalChain([this, 'access', _164 => _164._store, 'access', _165 => _165.unstable_capabilities, 'optionalAccess', _166 => _166.copy]) !== false,
|
4402
4301
|
// default true
|
4403
|
-
attachments: !!_optionalChain([this, 'access',
|
4404
|
-
feedback: !!_optionalChain([this, 'access',
|
4302
|
+
attachments: !!_optionalChain([this, 'access', _167 => _167.store, 'access', _168 => _168.adapters, 'optionalAccess', _169 => _169.attachments]),
|
4303
|
+
feedback: !!_optionalChain([this, 'access', _170 => _170.store, 'access', _171 => _171.adapters, 'optionalAccess', _172 => _172.feedback])
|
4405
4304
|
};
|
4406
|
-
this.composer.setAttachmentAdapter(_optionalChain([this, 'access',
|
4305
|
+
this.composer.setAttachmentAdapter(_optionalChain([this, 'access', _173 => _173._store, 'access', _174 => _174.adapters, 'optionalAccess', _175 => _175.attachments]));
|
4407
4306
|
if (oldStore) {
|
4408
4307
|
if (oldStore.convertMessage !== store.convertMessage) {
|
4409
4308
|
this.converter = new ThreadMessageConverter();
|
@@ -4429,7 +4328,7 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4429
4328
|
for (let i = 0; i < messages.length; i++) {
|
4430
4329
|
const message = messages[i];
|
4431
4330
|
const parent = messages[i - 1];
|
4432
|
-
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess',
|
4331
|
+
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess', _176 => _176.id]), () => ( null)), message);
|
4433
4332
|
}
|
4434
4333
|
if (this.assistantOptimisticId) {
|
4435
4334
|
this.repository.deleteMessage(this.assistantOptimisticId);
|
@@ -4437,7 +4336,7 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4437
4336
|
}
|
4438
4337
|
if (hasUpcomingMessage(isRunning, messages)) {
|
4439
4338
|
this.assistantOptimisticId = this.repository.appendOptimisticMessage(
|
4440
|
-
_nullishCoalesce(_optionalChain([messages, 'access',
|
4339
|
+
_nullishCoalesce(_optionalChain([messages, 'access', _177 => _177.at, 'call', _178 => _178(-1), 'optionalAccess', _179 => _179.id]), () => ( null)),
|
4441
4340
|
{
|
4442
4341
|
role: "assistant",
|
4443
4342
|
content: []
|
@@ -4445,7 +4344,7 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4445
4344
|
);
|
4446
4345
|
}
|
4447
4346
|
this.repository.resetHead(
|
4448
|
-
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages, 'access',
|
4347
|
+
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages, 'access', _180 => _180.at, 'call', _181 => _181(-1), 'optionalAccess', _182 => _182.id]))), () => ( null))
|
4449
4348
|
);
|
4450
4349
|
this.messages = this.repository.getMessages();
|
4451
4350
|
this.notifySubscribers();
|
@@ -4466,7 +4365,7 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4466
4365
|
this.updateMessages(this.repository.getMessages());
|
4467
4366
|
}
|
4468
4367
|
async append(message) {
|
4469
|
-
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access',
|
4368
|
+
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access', _183 => _183.messages, 'access', _184 => _184.at, 'call', _185 => _185(-1), 'optionalAccess', _186 => _186.id]), () => ( null)))) {
|
4470
4369
|
if (!this._store.onEdit)
|
4471
4370
|
throw new Error("Runtime does not support editing messages.");
|
4472
4371
|
await this._store.onEdit(message);
|
@@ -4489,7 +4388,7 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4489
4388
|
}
|
4490
4389
|
let messages = this.repository.getMessages();
|
4491
4390
|
const previousMessage = messages[messages.length - 1];
|
4492
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
4391
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _187 => _187.role]) === "user" && previousMessage.id === _optionalChain([messages, 'access', _188 => _188.at, 'call', _189 => _189(-1), 'optionalAccess', _190 => _190.id])) {
|
4493
4392
|
this.repository.deleteMessage(previousMessage.id);
|
4494
4393
|
if (!this.composer.text.trim()) {
|
4495
4394
|
this.composer.setText(getThreadMessageText(previousMessage));
|
@@ -4514,7 +4413,7 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4514
4413
|
return this._store.onSpeak(message);
|
4515
4414
|
}
|
4516
4415
|
submitFeedback({ messageId, type }) {
|
4517
|
-
const adapter = _optionalChain([this, 'access',
|
4416
|
+
const adapter = _optionalChain([this, 'access', _191 => _191._store, 'access', _192 => _192.adapters, 'optionalAccess', _193 => _193.feedback]);
|
4518
4417
|
if (!adapter) throw new Error("Feedback adapter not configured");
|
4519
4418
|
const { message } = this.repository.getMessage(messageId);
|
4520
4419
|
adapter.submit({ message, type });
|
@@ -4523,8 +4422,8 @@ var ExternalStoreThreadRuntimeCore = (_class11 = class {
|
|
4523
4422
|
this._subscriptions.add(callback);
|
4524
4423
|
return () => this._subscriptions.delete(callback);
|
4525
4424
|
}
|
4526
|
-
|
4527
|
-
_optionalChain([this, 'access',
|
4425
|
+
__init32() {this.updateMessages = (messages) => {
|
4426
|
+
_optionalChain([this, 'access', _194 => _194._store, 'access', _195 => _195.setMessages, 'optionalCall', _196 => _196(
|
4528
4427
|
messages.flatMap(getExternalStoreMessage).filter((m) => m != null)
|
4529
4428
|
)]);
|
4530
4429
|
}}
|
@@ -4620,19 +4519,18 @@ var joinExternalMessages = (messages) => {
|
|
4620
4519
|
);
|
4621
4520
|
}
|
4622
4521
|
} else {
|
4623
|
-
const content = output.content;
|
4624
4522
|
const role = output.role;
|
4625
4523
|
switch (role) {
|
4626
4524
|
case "system":
|
4627
4525
|
case "user":
|
4628
|
-
return
|
4526
|
+
return output;
|
4629
4527
|
case "assistant":
|
4630
4528
|
if (assistantMessage.content.length === 0) {
|
4631
4529
|
assistantMessage.id = output.id;
|
4632
4530
|
assistantMessage.createdAt ??= output.createdAt;
|
4633
4531
|
assistantMessage.status ??= output.status;
|
4634
4532
|
}
|
4635
|
-
assistantMessage.content.push(...content);
|
4533
|
+
assistantMessage.content.push(...output.content);
|
4636
4534
|
break;
|
4637
4535
|
default: {
|
4638
4536
|
const unsupportedRole = role;
|
@@ -4746,18 +4644,18 @@ var DangerousInBrowserAdapter = class {
|
|
4746
4644
|
this.options = options;
|
4747
4645
|
}
|
4748
4646
|
async *run({ messages, abortSignal, config }) {
|
4749
|
-
const res = await
|
4647
|
+
const res = await _chunk5KIEXJRKjs.getEdgeRuntimeStream.call(void 0, {
|
4750
4648
|
options: this.options,
|
4751
4649
|
abortSignal,
|
4752
4650
|
requestData: {
|
4753
4651
|
system: config.system,
|
4754
|
-
messages:
|
4755
|
-
tools: config.tools ?
|
4652
|
+
messages: _chunk5KIEXJRKjs.toCoreMessages.call(void 0, messages),
|
4653
|
+
tools: config.tools ? _chunk5KIEXJRKjs.toLanguageModelTools.call(void 0, config.tools) : [],
|
4756
4654
|
...config.callSettings,
|
4757
4655
|
...config.config
|
4758
4656
|
}
|
4759
4657
|
});
|
4760
|
-
const stream = res.pipeThrough(
|
4658
|
+
const stream = res.pipeThrough(_chunk5KIEXJRKjs.toolResultStream.call(void 0, config.tools, abortSignal)).pipeThrough(_chunk5KIEXJRKjs.runResultStream.call(void 0, ));
|
4761
4659
|
for await (const update of asAsyncIterable(stream)) {
|
4762
4660
|
yield update;
|
4763
4661
|
}
|
@@ -4815,8 +4713,8 @@ var WebSpeechSynthesisAdapter = class {
|
|
4815
4713
|
};
|
4816
4714
|
|
4817
4715
|
// src/runtimes/attachment/SimpleImageAttachmentAdapter.ts
|
4818
|
-
var SimpleImageAttachmentAdapter = (_class12 = class {constructor() { _class12.prototype.
|
4819
|
-
|
4716
|
+
var SimpleImageAttachmentAdapter = (_class12 = class {constructor() { _class12.prototype.__init33.call(this); }
|
4717
|
+
__init33() {this.accept = "image/*"}
|
4820
4718
|
async add(state) {
|
4821
4719
|
return {
|
4822
4720
|
id: state.file.name,
|
@@ -4847,8 +4745,8 @@ var getFileDataURL = (file) => new Promise((resolve, reject) => {
|
|
4847
4745
|
});
|
4848
4746
|
|
4849
4747
|
// src/runtimes/attachment/SimpleTextAttachmentAdapter.ts
|
4850
|
-
var SimpleTextAttachmentAdapter = (_class13 = class {constructor() { _class13.prototype.
|
4851
|
-
|
4748
|
+
var SimpleTextAttachmentAdapter = (_class13 = class {constructor() { _class13.prototype.__init34.call(this); }
|
4749
|
+
__init34() {this.accept = "text/plain,text/html,text/markdown,text/csv,text/xml,text/json,text/css"}
|
4852
4750
|
async add(state) {
|
4853
4751
|
return {
|
4854
4752
|
id: state.file.name,
|
@@ -4966,7 +4864,7 @@ var ThreadConfigProvider = ({
|
|
4966
4864
|
}) => {
|
4967
4865
|
const hasAssistant = !!useAssistantRuntime({ optional: true });
|
4968
4866
|
const configProvider = config && Object.keys(_nullishCoalesce(config, () => ( {}))).length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadConfigContext.Provider, { value: config, children }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children });
|
4969
|
-
if (!_optionalChain([config, 'optionalAccess',
|
4867
|
+
if (!_optionalChain([config, 'optionalAccess', _197 => _197.runtime])) return configProvider;
|
4970
4868
|
if (hasAssistant) {
|
4971
4869
|
throw new Error(
|
4972
4870
|
"You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
|
@@ -5294,7 +5192,7 @@ var AssistantMessageContent = _react.forwardRef.call(void 0, ({ components: comp
|
|
5294
5192
|
{
|
5295
5193
|
components: {
|
5296
5194
|
...componentsProp,
|
5297
|
-
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess',
|
5195
|
+
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess', _198 => _198.Text]), () => ( components.Text)), () => ( content_part_default.Text)),
|
5298
5196
|
tools: toolsComponents
|
5299
5197
|
}
|
5300
5198
|
}
|
@@ -5437,7 +5335,7 @@ var ComposerAttachments = ({ components }) => {
|
|
5437
5335
|
{
|
5438
5336
|
components: {
|
5439
5337
|
...components,
|
5440
|
-
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5338
|
+
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _199 => _199.Attachment]), () => ( composer_attachment_default))
|
5441
5339
|
}
|
5442
5340
|
}
|
5443
5341
|
) });
|
@@ -5569,7 +5467,7 @@ var ThreadWelcomeSuggestion = ({
|
|
5569
5467
|
};
|
5570
5468
|
var ThreadWelcomeSuggestions = () => {
|
5571
5469
|
const { welcome: { suggestions } = {} } = useThreadConfig();
|
5572
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([suggestions, 'optionalAccess',
|
5470
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([suggestions, 'optionalAccess', _200 => _200.map, 'call', _201 => _201((suggestion, idx) => {
|
5573
5471
|
const key = `${suggestion.prompt}-${idx}`;
|
5574
5472
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestion, { suggestion }, key);
|
5575
5473
|
})]) });
|
@@ -5668,7 +5566,7 @@ var UserMessageContent = _react.forwardRef.call(void 0,
|
|
5668
5566
|
{
|
5669
5567
|
components: {
|
5670
5568
|
...components,
|
5671
|
-
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5569
|
+
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _202 => _202.Text]), () => ( content_part_default.Text))
|
5672
5570
|
}
|
5673
5571
|
}
|
5674
5572
|
) });
|
@@ -5686,7 +5584,7 @@ var UserMessageAttachments = ({
|
|
5686
5584
|
{
|
5687
5585
|
components: {
|
5688
5586
|
...components,
|
5689
|
-
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5587
|
+
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _203 => _203.Attachment]), () => ( user_message_attachment_default))
|
5690
5588
|
}
|
5691
5589
|
}
|
5692
5590
|
) }) });
|
@@ -5787,10 +5685,10 @@ var ThreadMessages = ({ components, ...rest }) => {
|
|
5787
5685
|
thread_exports.Messages,
|
5788
5686
|
{
|
5789
5687
|
components: {
|
5790
|
-
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5791
|
-
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5792
|
-
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5793
|
-
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5688
|
+
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _204 => _204.UserMessage]), () => ( user_message_default)),
|
5689
|
+
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _205 => _205.EditComposer]), () => ( edit_composer_default)),
|
5690
|
+
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _206 => _206.AssistantMessage]), () => ( assistant_message_default)),
|
5691
|
+
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _207 => _207.SystemMessage]), () => ( SystemMessage))
|
5794
5692
|
},
|
5795
5693
|
...rest
|
5796
5694
|
}
|
@@ -6009,5 +5907,6 @@ var assistant_modal_default = Object.assign(AssistantModal, exports13);
|
|
6009
5907
|
|
6010
5908
|
|
6011
5909
|
|
6012
|
-
|
5910
|
+
|
5911
|
+
exports.ActionBarPrimitive = actionBar_exports; exports.AssistantActionBar = assistant_action_bar_default; exports.AssistantMessage = assistant_message_default; exports.AssistantModal = assistant_modal_default; exports.AssistantModalPrimitive = assistantModal_exports; exports.AssistantRuntimeProvider = AssistantRuntimeProvider; exports.BranchPicker = branch_picker_default; exports.BranchPickerPrimitive = branchPicker_exports; exports.Composer = composer_default; exports.ComposerAttachment = composer_attachment_default; exports.ComposerPrimitive = composer_exports; exports.CompositeAttachmentAdapter = CompositeAttachmentAdapter; exports.ContentPart = content_part_default; exports.ContentPartPrimitive = contentPart_exports; exports.EdgeChatAdapter = EdgeChatAdapter; exports.EditComposer = edit_composer_default; exports.INTERNAL = internal_exports; exports.MessagePrimitive = message_exports; exports.SimpleImageAttachmentAdapter = SimpleImageAttachmentAdapter; exports.SimpleTextAttachmentAdapter = SimpleTextAttachmentAdapter; exports.TextContentPartProvider = TextContentPartProvider; exports.Thread = thread_default; exports.ThreadConfigProvider = ThreadConfigProvider; exports.ThreadPrimitive = thread_exports; exports.ThreadWelcome = thread_welcome_default; exports.UserActionBar = user_action_bar_default; exports.UserMessage = user_message_default; exports.UserMessageAttachment = user_message_attachment_default; exports.WebSpeechSynthesisAdapter = WebSpeechSynthesisAdapter; exports.fromCoreMessage = fromCoreMessage; exports.fromCoreMessages = fromCoreMessages; exports.fromLanguageModelMessages = fromLanguageModelMessages; exports.fromLanguageModelTools = fromLanguageModelTools; exports.getExternalStoreMessage = getExternalStoreMessage; exports.makeAssistantTool = makeAssistantTool; exports.makeAssistantToolUI = makeAssistantToolUI; exports.streamUtils = streamUtils; exports.subscribeToMainThread = subscribeToMainThread; exports.toCoreMessage = _chunk5KIEXJRKjs.toCoreMessage; exports.toCoreMessages = _chunk5KIEXJRKjs.toCoreMessages; exports.toLanguageModelMessages = _chunk5KIEXJRKjs.toLanguageModelMessages; exports.toLanguageModelTools = _chunk5KIEXJRKjs.toLanguageModelTools; exports.useActionBarCopy = useActionBarCopy; exports.useActionBarEdit = useActionBarEdit; exports.useActionBarFeedbackNegative = useActionBarFeedbackNegative; exports.useActionBarFeedbackPositive = useActionBarFeedbackPositive; exports.useActionBarReload = useActionBarReload; exports.useActionBarSpeak = useActionBarSpeak; exports.useActionBarStopSpeaking = useActionBarStopSpeaking; exports.useAppendMessage = useAppendMessage; exports.useAssistantActions = useAssistantActions; exports.useAssistantActionsStore = useAssistantActionsStore; exports.useAssistantContext = useAssistantContext; exports.useAssistantInstructions = useAssistantInstructions; exports.useAssistantRuntime = useAssistantRuntime; exports.useAssistantRuntimeStore = useAssistantRuntimeStore; exports.useAssistantTool = useAssistantTool; exports.useAssistantToolUI = useAssistantToolUI; exports.useBranchPickerCount = useBranchPickerCount; exports.useBranchPickerNext = useBranchPickerNext; exports.useBranchPickerNumber = useBranchPickerNumber; exports.useBranchPickerPrevious = useBranchPickerPrevious; exports.useComposer = useComposer; exports.useComposerAddAttachment = useComposerAddAttachment; exports.useComposerCancel = useComposerCancel; exports.useComposerContext = useComposerContext; exports.useComposerIf = useComposerIf; exports.useComposerSend = useComposerSend; exports.useComposerStore = useComposerStore; exports.useContentPart = useContentPart; exports.useContentPartContext = useContentPartContext; exports.useContentPartDisplay = useContentPartDisplay; exports.useContentPartImage = useContentPartImage; exports.useContentPartStore = useContentPartStore; exports.useContentPartText = useContentPartText; exports.useDangerousInBrowserRuntime = useDangerousInBrowserRuntime; exports.useEdgeRuntime = useEdgeRuntime; exports.useEditComposer = useEditComposer; exports.useEditComposerStore = useEditComposerStore; exports.useExternalMessageConverter = useExternalMessageConverter; exports.useExternalStoreRuntime = useExternalStoreRuntime; exports.useLocalRuntime = useLocalRuntime; exports.useMessage = useMessage; exports.useMessageContext = useMessageContext; exports.useMessageIf = useMessageIf; exports.useMessageRuntime = useMessageRuntime; exports.useMessageStore = useMessageStore; exports.useMessageUtils = useMessageUtils; exports.useMessageUtilsStore = useMessageUtilsStore; exports.useSwitchToNewThread = useSwitchToNewThread; exports.useThread = useThread; exports.useThreadActions = useThreadActions; exports.useThreadActionsStore = useThreadActionsStore; exports.useThreadComposer = useThreadComposer; exports.useThreadComposerStore = useThreadComposerStore; exports.useThreadConfig = useThreadConfig; exports.useThreadContext = useThreadContext; exports.useThreadEmpty = useThreadEmpty; exports.useThreadIf = useThreadIf; exports.useThreadMessages = useThreadMessages; exports.useThreadMessagesStore = useThreadMessagesStore; exports.useThreadRuntime = useThreadRuntime; exports.useThreadRuntimeStore = useThreadRuntimeStore; exports.useThreadScrollToBottom = useThreadScrollToBottom; exports.useThreadStore = useThreadStore; exports.useThreadSuggestion = useThreadSuggestion; exports.useThreadViewport = useThreadViewport; exports.useThreadViewportStore = useThreadViewportStore; exports.useToolUIs = useToolUIs; exports.useToolUIsStore = useToolUIsStore;
|
6013
5912
|
//# sourceMappingURL=index.js.map
|