@assistant-ui/react 0.5.73 → 0.5.75
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.mts +570 -182
- package/dist/index.d.ts +570 -182
- package/dist/index.js +377 -303
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +527 -453
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
@@ -604,20 +604,13 @@ var useActionBarReload = () => {
|
|
604
604
|
// src/primitive-hooks/actionBar/useActionBarSpeak.tsx
|
605
605
|
|
606
606
|
var useActionBarSpeak = () => {
|
607
|
-
const messageStore = useMessageStore();
|
608
|
-
const editComposerStore = useEditComposerStore();
|
609
607
|
const messageRunime = useMessageRuntime();
|
610
|
-
const messageUtilsStore = useMessageUtilsStore();
|
611
|
-
const hasSpeakableContent = useCombinedStore(
|
612
|
-
[messageStore, editComposerStore],
|
613
|
-
(message, c) => {
|
614
|
-
return !c.isEditing && (message.role !== "assistant" || message.status.type !== "running") && message.content.some((c2) => c2.type === "text" && c2.text.length > 0);
|
615
|
-
}
|
616
|
-
);
|
617
608
|
const callback = _react.useCallback.call(void 0, async () => {
|
618
|
-
|
619
|
-
|
620
|
-
|
609
|
+
messageRunime.speak();
|
610
|
+
}, [messageRunime]);
|
611
|
+
const hasSpeakableContent = useMessage((m) => {
|
612
|
+
return (m.role !== "assistant" || m.status.type !== "running") && m.content.some((c) => c.type === "text" && c.text.length > 0);
|
613
|
+
});
|
621
614
|
if (!hasSpeakableContent) return null;
|
622
615
|
return callback;
|
623
616
|
};
|
@@ -625,11 +618,11 @@ var useActionBarSpeak = () => {
|
|
625
618
|
// src/primitive-hooks/actionBar/useActionBarStopSpeaking.tsx
|
626
619
|
|
627
620
|
var useActionBarStopSpeaking = () => {
|
628
|
-
const
|
629
|
-
const isSpeaking =
|
621
|
+
const messageRuntime = useMessageRuntime();
|
622
|
+
const isSpeaking = useMessage((u) => u.speech != null);
|
630
623
|
const callback = _react.useCallback.call(void 0, async () => {
|
631
|
-
|
632
|
-
}, [
|
624
|
+
messageRuntime.stopSpeaking();
|
625
|
+
}, [messageRuntime]);
|
633
626
|
if (!isSpeaking) return null;
|
634
627
|
return callback;
|
635
628
|
};
|
@@ -672,12 +665,7 @@ var useBranchPickerCount = () => {
|
|
672
665
|
|
673
666
|
var useBranchPickerNext = () => {
|
674
667
|
const messageRuntime = useMessageRuntime();
|
675
|
-
const
|
676
|
-
const editComposerStore = useEditComposerStore();
|
677
|
-
const disabled = useCombinedStore(
|
678
|
-
[messageStore, editComposerStore],
|
679
|
-
(m, c) => c.isEditing || m.branchNumber >= m.branchCount
|
680
|
-
);
|
668
|
+
const disabled = useMessage((m) => m.branchNumber >= m.branchCount);
|
681
669
|
const callback = _react.useCallback.call(void 0, () => {
|
682
670
|
messageRuntime.switchToBranch({ position: "next" });
|
683
671
|
}, [messageRuntime]);
|
@@ -695,12 +683,7 @@ var useBranchPickerNumber = () => {
|
|
695
683
|
|
696
684
|
var useBranchPickerPrevious = () => {
|
697
685
|
const messageRuntime = useMessageRuntime();
|
698
|
-
const
|
699
|
-
const editComposerStore = useEditComposerStore();
|
700
|
-
const disabled = useCombinedStore(
|
701
|
-
[messageStore, editComposerStore],
|
702
|
-
(m, c) => c.isEditing || m.branchNumber <= 1
|
703
|
-
);
|
686
|
+
const disabled = useMessage((m) => m.branchNumber <= 1);
|
704
687
|
const callback = _react.useCallback.call(void 0, () => {
|
705
688
|
messageRuntime.switchToBranch({ position: "previous" });
|
706
689
|
}, [messageRuntime]);
|
@@ -819,7 +802,7 @@ var useMessageIf = (props) => {
|
|
819
802
|
const messageUtilsStore = useMessageUtilsStore();
|
820
803
|
return useCombinedStore(
|
821
804
|
[messageStore, messageUtilsStore],
|
822
|
-
({ role, attachments, branchCount, isLast }, { isCopied, isHovering,
|
805
|
+
({ role, attachments, branchCount, isLast, speech }, { isCopied, isHovering, submittedFeedback }) => {
|
823
806
|
if (props.hasBranches === true && branchCount < 2) return false;
|
824
807
|
if (props.user && role !== "user") return false;
|
825
808
|
if (props.assistant && role !== "assistant") return false;
|
@@ -827,8 +810,8 @@ var useMessageIf = (props) => {
|
|
827
810
|
if (props.lastOrHover === true && !isHovering && !isLast) return false;
|
828
811
|
if (props.copied === true && !isCopied) return false;
|
829
812
|
if (props.copied === false && isCopied) return false;
|
830
|
-
if (props.speaking === true &&
|
831
|
-
if (props.speaking === false &&
|
813
|
+
if (props.speaking === true && speech == null) return false;
|
814
|
+
if (props.speaking === false && speech != null) return false;
|
832
815
|
if (props.hasAttachments === true && (role !== "user" || !attachments.length))
|
833
816
|
return false;
|
834
817
|
if (props.hasAttachments === false && role === "user" && !!attachments.length)
|
@@ -1238,13 +1221,126 @@ var AssistantModalPrimitiveAnchor = _react.forwardRef.call(void 0,
|
|
1238
1221
|
);
|
1239
1222
|
AssistantModalPrimitiveAnchor.displayName = "AssistantModalPrimitive.Anchor";
|
1240
1223
|
|
1224
|
+
// src/primitives/attachment/index.ts
|
1225
|
+
var attachment_exports = {};
|
1226
|
+
_chunkPZ5AY32Cjs.__export.call(void 0, attachment_exports, {
|
1227
|
+
Name: () => AttachmentPrimitiveName,
|
1228
|
+
Remove: () => AttachmentPrimitiveRemove,
|
1229
|
+
Root: () => AttachmentPrimitiveRoot,
|
1230
|
+
unstable_Thumb: () => AttachmentPrimitiveThumb
|
1231
|
+
});
|
1232
|
+
|
1233
|
+
// src/primitives/attachment/AttachmentRoot.tsx
|
1234
|
+
|
1235
|
+
|
1236
|
+
|
1237
|
+
var AttachmentPrimitiveRoot = _react.forwardRef.call(void 0, (props, ref) => {
|
1238
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactprimitive.Primitive.div, { ...props, ref });
|
1239
|
+
});
|
1240
|
+
AttachmentPrimitiveRoot.displayName = "AttachmentPrimitive.Root";
|
1241
|
+
|
1242
|
+
// src/primitives/attachment/AttachmentThumb.tsx
|
1243
|
+
|
1244
|
+
|
1245
|
+
// src/context/react/AttachmentContext.ts
|
1246
|
+
|
1247
|
+
var AttachmentContext = _react.createContext.call(void 0,
|
1248
|
+
null
|
1249
|
+
);
|
1250
|
+
function useAttachmentContext(options) {
|
1251
|
+
const context = _react.useContext.call(void 0, AttachmentContext);
|
1252
|
+
if (!_optionalChain([options, 'optionalAccess', _15 => _15.optional]) && !context)
|
1253
|
+
throw new Error(
|
1254
|
+
"This component must be used within a ComposerPrimitive.Attachments or MessagePrimitive.Attachments component."
|
1255
|
+
);
|
1256
|
+
return context;
|
1257
|
+
}
|
1258
|
+
function useThreadComposerAttachmentContext(options) {
|
1259
|
+
const context = useAttachmentContext(options);
|
1260
|
+
if (!context) return null;
|
1261
|
+
if (context.source !== "thread-composer")
|
1262
|
+
throw new Error(
|
1263
|
+
"This component must be used within a thread's ComposerPrimitive.Attachments component."
|
1264
|
+
);
|
1265
|
+
return context;
|
1266
|
+
}
|
1267
|
+
function useEditComposerAttachmentContext(options) {
|
1268
|
+
const context = useAttachmentContext(options);
|
1269
|
+
if (!context) return null;
|
1270
|
+
if (context.source !== "edit-composer")
|
1271
|
+
throw new Error(
|
1272
|
+
"This component must be used within a messages's ComposerPrimitive.Attachments component."
|
1273
|
+
);
|
1274
|
+
return context;
|
1275
|
+
}
|
1276
|
+
function useMessageAttachmentContext(options) {
|
1277
|
+
const context = useAttachmentContext(options);
|
1278
|
+
if (!context) return null;
|
1279
|
+
if (context.source !== "message")
|
1280
|
+
throw new Error(
|
1281
|
+
"This component must be used within a MessagePrimitive.Attachments component."
|
1282
|
+
);
|
1283
|
+
return context;
|
1284
|
+
}
|
1285
|
+
function useAttachmentRuntime(options) {
|
1286
|
+
const attachmentRuntime = useAttachmentContext(options);
|
1287
|
+
if (!attachmentRuntime) return null;
|
1288
|
+
return attachmentRuntime.useAttachmentRuntime();
|
1289
|
+
}
|
1290
|
+
var { useAttachment } = createContextStoreHook(
|
1291
|
+
useAttachmentContext,
|
1292
|
+
"useAttachment"
|
1293
|
+
);
|
1294
|
+
var { useAttachment: useThreadComposerAttachment } = createContextStoreHook(useThreadComposerAttachmentContext, "useAttachment");
|
1295
|
+
var { useAttachment: useEditComposerAttachment } = createContextStoreHook(useEditComposerAttachmentContext, "useAttachment");
|
1296
|
+
var { useAttachment: useMessageAttachment } = createContextStoreHook(
|
1297
|
+
useMessageAttachmentContext,
|
1298
|
+
"useAttachment"
|
1299
|
+
);
|
1300
|
+
|
1301
|
+
// src/primitives/attachment/AttachmentThumb.tsx
|
1302
|
+
|
1303
|
+
|
1304
|
+
var AttachmentPrimitiveThumb = _react.forwardRef.call(void 0, () => {
|
1305
|
+
const ext = useAttachment((a) => a.name.split(".").pop());
|
1306
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _reactprimitive.Primitive.div, { children: [
|
1307
|
+
".",
|
1308
|
+
ext
|
1309
|
+
] });
|
1310
|
+
});
|
1311
|
+
AttachmentPrimitiveThumb.displayName = "AttachmentPrimitive.Thumb";
|
1312
|
+
|
1313
|
+
// src/primitives/attachment/AttachmentName.tsx
|
1314
|
+
|
1315
|
+
var AttachmentPrimitiveName = () => {
|
1316
|
+
const name = useAttachment((a) => a.name);
|
1317
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: name });
|
1318
|
+
};
|
1319
|
+
AttachmentPrimitiveName.displayName = "AttachmentPrimitive.Name";
|
1320
|
+
|
1321
|
+
// src/primitive-hooks/attachment/useAttachmentRemove.ts
|
1322
|
+
|
1323
|
+
var useAttachmentRemove = () => {
|
1324
|
+
const attachmentRuntime = useAttachmentRuntime();
|
1325
|
+
const handleRemoveAttachment = _react.useCallback.call(void 0, () => {
|
1326
|
+
attachmentRuntime.remove();
|
1327
|
+
}, [attachmentRuntime]);
|
1328
|
+
return handleRemoveAttachment;
|
1329
|
+
};
|
1330
|
+
|
1331
|
+
// src/primitives/attachment/AttachmentRemove.tsx
|
1332
|
+
var AttachmentPrimitiveRemove = createActionButton(
|
1333
|
+
"AttachmentPrimitive.Remove",
|
1334
|
+
useAttachmentRemove
|
1335
|
+
);
|
1336
|
+
|
1241
1337
|
// src/primitives/branchPicker/index.ts
|
1242
1338
|
var branchPicker_exports = {};
|
1243
1339
|
_chunkPZ5AY32Cjs.__export.call(void 0, branchPicker_exports, {
|
1244
1340
|
Count: () => BranchPickerPrimitiveCount,
|
1245
1341
|
Next: () => BranchPickerPrimitiveNext,
|
1246
1342
|
Number: () => BranchPickerPrimitiveNumber,
|
1247
|
-
Previous: () =>
|
1343
|
+
Previous: () => BranchPickerPrimitivePrevious,
|
1248
1344
|
Root: () => BranchPickerPrimitiveRoot
|
1249
1345
|
});
|
1250
1346
|
|
@@ -1255,7 +1351,7 @@ var BranchPickerPrimitiveNext = createActionButton(
|
|
1255
1351
|
);
|
1256
1352
|
|
1257
1353
|
// src/primitives/branchPicker/BranchPickerPrevious.tsx
|
1258
|
-
var
|
1354
|
+
var BranchPickerPrimitivePrevious = createActionButton(
|
1259
1355
|
"BranchPickerPrimitive.Previous",
|
1260
1356
|
useBranchPickerPrevious
|
1261
1357
|
);
|
@@ -1341,9 +1437,9 @@ var useIsHoveringRef = () => {
|
|
1341
1437
|
);
|
1342
1438
|
return useManagedRef(callbackRef);
|
1343
1439
|
};
|
1344
|
-
var MessagePrimitiveRoot = _react.forwardRef.call(void 0, (props,
|
1440
|
+
var MessagePrimitiveRoot = _react.forwardRef.call(void 0, (props, forwardRef35) => {
|
1345
1441
|
const isHoveringRef = useIsHoveringRef();
|
1346
|
-
const ref = _reactcomposerefs.useComposedRefs.call(void 0,
|
1442
|
+
const ref = _reactcomposerefs.useComposedRefs.call(void 0, forwardRef35, isHoveringRef);
|
1347
1443
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactprimitive.Primitive.div, { ...props, ref });
|
1348
1444
|
});
|
1349
1445
|
MessagePrimitiveRoot.displayName = "MessagePrimitive.Root";
|
@@ -1434,7 +1530,7 @@ var withSmoothContextProvider = (Component) => {
|
|
1434
1530
|
};
|
1435
1531
|
function useSmoothContext(options) {
|
1436
1532
|
const context = _react.useContext.call(void 0, SmoothContext);
|
1437
|
-
if (!_optionalChain([options, 'optionalAccess',
|
1533
|
+
if (!_optionalChain([options, 'optionalAccess', _16 => _16.optional]) && !context)
|
1438
1534
|
throw new Error(
|
1439
1535
|
"This component must be used within a SmoothContextProvider."
|
1440
1536
|
);
|
@@ -1644,7 +1740,7 @@ var BaseSubject = (_class2 = class {constructor() { _class2.prototype.__init5.ca
|
|
1644
1740
|
if (this._connection) return;
|
1645
1741
|
this._connection = this._connect();
|
1646
1742
|
} else {
|
1647
|
-
_optionalChain([this, 'access',
|
1743
|
+
_optionalChain([this, 'access', _17 => _17._connection, 'optionalCall', _18 => _18()]);
|
1648
1744
|
this._connection = void 0;
|
1649
1745
|
}
|
1650
1746
|
}
|
@@ -1743,40 +1839,40 @@ var EMPTY_ARRAY = Object.freeze([]);
|
|
1743
1839
|
var getThreadComposerState = (runtime, focus, onFocus) => {
|
1744
1840
|
return Object.freeze({
|
1745
1841
|
type: "thread",
|
1746
|
-
isEditing: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1747
|
-
canCancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1748
|
-
isEmpty: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1749
|
-
text: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1750
|
-
attachments: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1751
|
-
attachmentAccept: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1752
|
-
value: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1753
|
-
setValue: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1754
|
-
setText: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1842
|
+
isEditing: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _19 => _19.isEditing]), () => ( false)),
|
1843
|
+
canCancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _20 => _20.canCancel]), () => ( false)),
|
1844
|
+
isEmpty: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _21 => _21.isEmpty]), () => ( true)),
|
1845
|
+
text: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _22 => _22.text]), () => ( "")),
|
1846
|
+
attachments: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _23 => _23.attachments]), () => ( EMPTY_ARRAY)),
|
1847
|
+
attachmentAccept: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _24 => _24.attachmentAccept]), () => ( "*")),
|
1848
|
+
value: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _25 => _25.text]), () => ( "")),
|
1849
|
+
setValue: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _26 => _26.setText, 'access', _27 => _27.bind, 'call', _28 => _28(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1850
|
+
setText: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _29 => _29.setText, 'access', _30 => _30.bind, 'call', _31 => _31(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1755
1851
|
// edit: beginEdit,
|
1756
|
-
send: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1757
|
-
cancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1852
|
+
send: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _32 => _32.send, 'access', _33 => _33.bind, 'call', _34 => _34(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1853
|
+
cancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _35 => _35.cancel, 'access', _36 => _36.bind, 'call', _37 => _37(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1758
1854
|
focus,
|
1759
1855
|
onFocus,
|
1760
|
-
reset: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1761
|
-
addAttachment: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1762
|
-
removeAttachment: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1856
|
+
reset: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _38 => _38.reset, 'access', _39 => _39.bind, 'call', _40 => _40(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1857
|
+
addAttachment: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _41 => _41.addAttachment, 'access', _42 => _42.bind, 'call', _43 => _43(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1858
|
+
removeAttachment: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _44 => _44.removeAttachment, 'access', _45 => _45.bind, 'call', _46 => _46(runtime)]), () => ( METHOD_NOT_SUPPORTED))
|
1763
1859
|
});
|
1764
1860
|
};
|
1765
1861
|
var getEditComposerState = (runtime, beginEdit) => {
|
1766
1862
|
return Object.freeze({
|
1767
1863
|
type: "edit",
|
1768
|
-
isEditing: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1769
|
-
canCancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1770
|
-
isEmpty: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1771
|
-
text: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1772
|
-
attachments: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1773
|
-
attachmentAccept: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1774
|
-
value: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1775
|
-
setValue: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1776
|
-
setText: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1864
|
+
isEditing: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _47 => _47.isEditing]), () => ( false)),
|
1865
|
+
canCancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _48 => _48.canCancel]), () => ( false)),
|
1866
|
+
isEmpty: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _49 => _49.isEmpty]), () => ( true)),
|
1867
|
+
text: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _50 => _50.text]), () => ( "")),
|
1868
|
+
attachments: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _51 => _51.attachments]), () => ( EMPTY_ARRAY)),
|
1869
|
+
attachmentAccept: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _52 => _52.attachmentAccept]), () => ( "*")),
|
1870
|
+
value: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _53 => _53.text]), () => ( "")),
|
1871
|
+
setValue: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _54 => _54.setText, 'access', _55 => _55.bind, 'call', _56 => _56(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1872
|
+
setText: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _57 => _57.setText, 'access', _58 => _58.bind, 'call', _59 => _59(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1777
1873
|
edit: beginEdit,
|
1778
|
-
send: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1779
|
-
cancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess',
|
1874
|
+
send: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _60 => _60.send, 'access', _61 => _61.bind, 'call', _62 => _62(runtime)]), () => ( METHOD_NOT_SUPPORTED)),
|
1875
|
+
cancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _63 => _63.cancel, 'access', _64 => _64.bind, 'call', _65 => _65(runtime)]), () => ( METHOD_NOT_SUPPORTED))
|
1780
1876
|
});
|
1781
1877
|
};
|
1782
1878
|
var ComposerRuntimeImpl = class {
|
@@ -1889,7 +1985,7 @@ var ThreadComposerRuntimeImpl = (_class5 = class extends ComposerRuntimeImpl {
|
|
1889
1985
|
this._getState = stateBinding.getState.bind(stateBinding);
|
1890
1986
|
}
|
1891
1987
|
get attachments() {
|
1892
|
-
return _nullishCoalesce(_optionalChain([this, 'access',
|
1988
|
+
return _nullishCoalesce(_optionalChain([this, 'access', _66 => _66.getState, 'call', _67 => _67(), 'optionalAccess', _68 => _68.attachments]), () => ( EMPTY_ARRAY));
|
1893
1989
|
}
|
1894
1990
|
getState() {
|
1895
1991
|
return this._getState();
|
@@ -1991,19 +2087,19 @@ var NestedSubscriptionSubject = class extends BaseSubject {
|
|
1991
2087
|
this.notifySubscribers();
|
1992
2088
|
};
|
1993
2089
|
let lastState = this.binding.getState();
|
1994
|
-
let innerUnsubscribe = _optionalChain([lastState, 'optionalAccess',
|
2090
|
+
let innerUnsubscribe = _optionalChain([lastState, 'optionalAccess', _69 => _69.subscribe, 'call', _70 => _70(callback)]);
|
1995
2091
|
const onRuntimeUpdate = () => {
|
1996
2092
|
const newState = this.binding.getState();
|
1997
2093
|
if (newState === lastState) return;
|
1998
2094
|
lastState = newState;
|
1999
|
-
_optionalChain([innerUnsubscribe, 'optionalCall',
|
2000
|
-
innerUnsubscribe = _optionalChain([this, 'access',
|
2095
|
+
_optionalChain([innerUnsubscribe, 'optionalCall', _71 => _71()]);
|
2096
|
+
innerUnsubscribe = _optionalChain([this, 'access', _72 => _72.binding, 'access', _73 => _73.getState, 'call', _74 => _74(), 'optionalAccess', _75 => _75.subscribe, 'call', _76 => _76(callback)]);
|
2001
2097
|
callback();
|
2002
2098
|
};
|
2003
2099
|
const outerUnsubscribe = this.binding.subscribe(onRuntimeUpdate);
|
2004
2100
|
return () => {
|
2005
|
-
_optionalChain([outerUnsubscribe, 'optionalCall',
|
2006
|
-
_optionalChain([innerUnsubscribe, 'optionalCall',
|
2101
|
+
_optionalChain([outerUnsubscribe, 'optionalCall', _77 => _77()]);
|
2102
|
+
_optionalChain([innerUnsubscribe, 'optionalCall', _78 => _78()]);
|
2007
2103
|
};
|
2008
2104
|
}
|
2009
2105
|
};
|
@@ -2069,6 +2165,16 @@ var MessageRuntimeImpl = (_class6 = class {
|
|
2069
2165
|
if (!state) throw new Error("Message is not available");
|
2070
2166
|
return this._threadBinding.getState().speak(state.id);
|
2071
2167
|
}
|
2168
|
+
stopSpeaking() {
|
2169
|
+
const state = this._core.getState();
|
2170
|
+
if (!state) throw new Error("Message is not available");
|
2171
|
+
const thread = this._threadBinding.getState();
|
2172
|
+
if (_optionalChain([thread, 'access', _79 => _79.speech, 'optionalAccess', _80 => _80.messageId]) === state.id) {
|
2173
|
+
this._threadBinding.getState().stopSpeaking();
|
2174
|
+
} else {
|
2175
|
+
throw new Error("Message is not being spoken");
|
2176
|
+
}
|
2177
|
+
}
|
2072
2178
|
submitFeedback({ type }) {
|
2073
2179
|
const state = this._core.getState();
|
2074
2180
|
if (!state) throw new Error("Message is not available");
|
@@ -2120,7 +2226,7 @@ var MessageRuntimeImpl = (_class6 = class {
|
|
2120
2226
|
new ShallowMemoizeSubject({
|
2121
2227
|
getState: () => {
|
2122
2228
|
const attachments = this.getState().attachments;
|
2123
|
-
const attachment = _optionalChain([attachments, 'optionalAccess',
|
2229
|
+
const attachment = _optionalChain([attachments, 'optionalAccess', _81 => _81[idx]]);
|
2124
2230
|
if (!attachment) return SKIP_UPDATE;
|
2125
2231
|
return {
|
2126
2232
|
...attachment,
|
@@ -2209,7 +2315,7 @@ var MessageContentPartImpl = ({
|
|
2209
2315
|
};
|
2210
2316
|
var MessageContentPart = _react.memo.call(void 0,
|
2211
2317
|
MessageContentPartImpl,
|
2212
|
-
(prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access',
|
2318
|
+
(prev, next) => prev.partIndex === next.partIndex && _optionalChain([prev, 'access', _82 => _82.components, 'optionalAccess', _83 => _83.Text]) === _optionalChain([next, 'access', _84 => _84.components, 'optionalAccess', _85 => _85.Text]) && _optionalChain([prev, 'access', _86 => _86.components, 'optionalAccess', _87 => _87.Image]) === _optionalChain([next, 'access', _88 => _88.components, 'optionalAccess', _89 => _89.Image]) && _optionalChain([prev, 'access', _90 => _90.components, 'optionalAccess', _91 => _91.UI]) === _optionalChain([next, 'access', _92 => _92.components, 'optionalAccess', _93 => _93.UI]) && _optionalChain([prev, 'access', _94 => _94.components, 'optionalAccess', _95 => _95.tools]) === _optionalChain([next, 'access', _96 => _96.components, 'optionalAccess', _97 => _97.tools])
|
2213
2319
|
);
|
2214
2320
|
var MessagePrimitiveContent = ({
|
2215
2321
|
components
|
@@ -2228,62 +2334,6 @@ MessagePrimitiveInProgress.displayName = "MessagePrimitive.InProgress";
|
|
2228
2334
|
// src/primitives/message/MessageAttachments.tsx
|
2229
2335
|
|
2230
2336
|
|
2231
|
-
// src/context/react/AttachmentContext.ts
|
2232
|
-
|
2233
|
-
var AttachmentContext = _react.createContext.call(void 0,
|
2234
|
-
null
|
2235
|
-
);
|
2236
|
-
function useAttachmentContext(options) {
|
2237
|
-
const context = _react.useContext.call(void 0, AttachmentContext);
|
2238
|
-
if (!_optionalChain([options, 'optionalAccess', _95 => _95.optional]) && !context)
|
2239
|
-
throw new Error(
|
2240
|
-
"This component must be used within a ComposerPrimitive.Attachments or MessagePrimitive.Attachments component."
|
2241
|
-
);
|
2242
|
-
return context;
|
2243
|
-
}
|
2244
|
-
function useThreadComposerAttachmentContext(options) {
|
2245
|
-
const context = useAttachmentContext(options);
|
2246
|
-
if (!context) return null;
|
2247
|
-
if (context.source !== "thread-composer")
|
2248
|
-
throw new Error(
|
2249
|
-
"This component must be used within a thread's ComposerPrimitive.Attachments component."
|
2250
|
-
);
|
2251
|
-
return context;
|
2252
|
-
}
|
2253
|
-
function useEditComposerAttachmentContext(options) {
|
2254
|
-
const context = useAttachmentContext(options);
|
2255
|
-
if (!context) return null;
|
2256
|
-
if (context.source !== "edit-composer")
|
2257
|
-
throw new Error(
|
2258
|
-
"This component must be used within a messages's ComposerPrimitive.Attachments component."
|
2259
|
-
);
|
2260
|
-
return context;
|
2261
|
-
}
|
2262
|
-
function useMessageAttachmentContext(options) {
|
2263
|
-
const context = useAttachmentContext(options);
|
2264
|
-
if (!context) return null;
|
2265
|
-
if (context.source !== "message")
|
2266
|
-
throw new Error(
|
2267
|
-
"This component must be used within a MessagePrimitive.Attachments component."
|
2268
|
-
);
|
2269
|
-
return context;
|
2270
|
-
}
|
2271
|
-
function useAttachmentRuntime(options) {
|
2272
|
-
const attachmentRuntime = useAttachmentContext(options);
|
2273
|
-
if (!attachmentRuntime) return null;
|
2274
|
-
return attachmentRuntime.useAttachmentRuntime();
|
2275
|
-
}
|
2276
|
-
var { useAttachment } = createContextStoreHook(
|
2277
|
-
useAttachmentContext,
|
2278
|
-
"useAttachment"
|
2279
|
-
);
|
2280
|
-
var { useAttachment: useThreadComposerAttachment } = createContextStoreHook(useThreadComposerAttachmentContext, "useAttachment");
|
2281
|
-
var { useAttachment: useEditComposerAttachment } = createContextStoreHook(useEditComposerAttachmentContext, "useAttachment");
|
2282
|
-
var { useAttachment: useMessageAttachment } = createContextStoreHook(
|
2283
|
-
useMessageAttachmentContext,
|
2284
|
-
"useAttachment"
|
2285
|
-
);
|
2286
|
-
|
2287
2337
|
// src/context/providers/AttachmentRuntimeProvider.tsx
|
2288
2338
|
|
2289
2339
|
|
@@ -2331,11 +2381,11 @@ var getComponent = (components, attachment) => {
|
|
2331
2381
|
const type = attachment.type;
|
2332
2382
|
switch (type) {
|
2333
2383
|
case "image":
|
2334
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2384
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _98 => _98.Image]), () => ( _optionalChain([components, 'optionalAccess', _99 => _99.Attachment])));
|
2335
2385
|
case "document":
|
2336
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2386
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _100 => _100.Document]), () => ( _optionalChain([components, 'optionalAccess', _101 => _101.Attachment])));
|
2337
2387
|
case "file":
|
2338
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2388
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _102 => _102.File]), () => ( _optionalChain([components, 'optionalAccess', _103 => _103.Attachment])));
|
2339
2389
|
default:
|
2340
2390
|
const _exhaustiveCheck = type;
|
2341
2391
|
throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);
|
@@ -2358,7 +2408,7 @@ var MessageAttachmentImpl = ({ components, attachmentIndex }) => {
|
|
2358
2408
|
};
|
2359
2409
|
var MessageAttachment = _react.memo.call(void 0,
|
2360
2410
|
MessageAttachmentImpl,
|
2361
|
-
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access',
|
2411
|
+
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _104 => _104.components, 'optionalAccess', _105 => _105.Image]) === _optionalChain([next, 'access', _106 => _106.components, 'optionalAccess', _107 => _107.Image]) && _optionalChain([prev, 'access', _108 => _108.components, 'optionalAccess', _109 => _109.Document]) === _optionalChain([next, 'access', _110 => _110.components, 'optionalAccess', _111 => _111.Document]) && _optionalChain([prev, 'access', _112 => _112.components, 'optionalAccess', _113 => _113.File]) === _optionalChain([next, 'access', _114 => _114.components, 'optionalAccess', _115 => _115.File]) && _optionalChain([prev, 'access', _116 => _116.components, 'optionalAccess', _117 => _117.Attachment]) === _optionalChain([next, 'access', _118 => _118.components, 'optionalAccess', _119 => _119.Attachment])
|
2362
2412
|
);
|
2363
2413
|
var MessagePrimitiveAttachments = ({ components }) => {
|
2364
2414
|
const attachmentsCount = useMessage(({ message }) => {
|
@@ -2469,7 +2519,7 @@ var ComposerPrimitiveInput = _react.forwardRef.call(void 0,
|
|
2469
2519
|
const { isRunning } = threadStore.getState();
|
2470
2520
|
if (!isRunning) {
|
2471
2521
|
e.preventDefault();
|
2472
|
-
_optionalChain([textareaRef, 'access',
|
2522
|
+
_optionalChain([textareaRef, 'access', _120 => _120.current, 'optionalAccess', _121 => _121.closest, 'call', _122 => _122("form"), 'optionalAccess', _123 => _123.requestSubmit, 'call', _124 => _124()]);
|
2473
2523
|
}
|
2474
2524
|
}
|
2475
2525
|
};
|
@@ -2534,11 +2584,11 @@ var getComponent2 = (components, attachment) => {
|
|
2534
2584
|
const type = attachment.type;
|
2535
2585
|
switch (type) {
|
2536
2586
|
case "image":
|
2537
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2587
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _125 => _125.Image]), () => ( _optionalChain([components, 'optionalAccess', _126 => _126.Attachment])));
|
2538
2588
|
case "document":
|
2539
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2589
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _127 => _127.Document]), () => ( _optionalChain([components, 'optionalAccess', _128 => _128.Attachment])));
|
2540
2590
|
case "file":
|
2541
|
-
return _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
2591
|
+
return _nullishCoalesce(_optionalChain([components, 'optionalAccess', _129 => _129.File]), () => ( _optionalChain([components, 'optionalAccess', _130 => _130.Attachment])));
|
2542
2592
|
default:
|
2543
2593
|
const _exhaustiveCheck = type;
|
2544
2594
|
throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);
|
@@ -2561,7 +2611,7 @@ var ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
|
|
2561
2611
|
};
|
2562
2612
|
var ComposerAttachment = _react.memo.call(void 0,
|
2563
2613
|
ComposerAttachmentImpl,
|
2564
|
-
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access',
|
2614
|
+
(prev, next) => prev.attachmentIndex === next.attachmentIndex && _optionalChain([prev, 'access', _131 => _131.components, 'optionalAccess', _132 => _132.Image]) === _optionalChain([next, 'access', _133 => _133.components, 'optionalAccess', _134 => _134.Image]) && _optionalChain([prev, 'access', _135 => _135.components, 'optionalAccess', _136 => _136.Document]) === _optionalChain([next, 'access', _137 => _137.components, 'optionalAccess', _138 => _138.Document]) && _optionalChain([prev, 'access', _139 => _139.components, 'optionalAccess', _140 => _140.File]) === _optionalChain([next, 'access', _141 => _141.components, 'optionalAccess', _142 => _142.File]) && _optionalChain([prev, 'access', _143 => _143.components, 'optionalAccess', _144 => _144.Attachment]) === _optionalChain([next, 'access', _145 => _145.components, 'optionalAccess', _146 => _146.Attachment])
|
2565
2615
|
);
|
2566
2616
|
var ComposerPrimitiveAttachments = ({ components }) => {
|
2567
2617
|
const attachmentsCount = useComposer((s) => s.attachments.length);
|
@@ -2769,7 +2819,6 @@ ThreadPrimitiveViewport.displayName = "ThreadPrimitive.Viewport";
|
|
2769
2819
|
// src/context/stores/MessageUtils.ts
|
2770
2820
|
|
2771
2821
|
var makeMessageUtilsStore = () => _zustand.create.call(void 0, (set) => {
|
2772
|
-
let utterance = null;
|
2773
2822
|
return {
|
2774
2823
|
isCopied: false,
|
2775
2824
|
setIsCopied: (value) => {
|
@@ -2779,17 +2828,6 @@ var makeMessageUtilsStore = () => _zustand.create.call(void 0, (set) => {
|
|
2779
2828
|
setIsHovering: (value) => {
|
2780
2829
|
set({ isHovering: value });
|
2781
2830
|
},
|
2782
|
-
isSpeaking: false,
|
2783
|
-
stopSpeaking: () => {
|
2784
|
-
_optionalChain([utterance, 'optionalAccess', _145 => _145.cancel, 'call', _146 => _146()]);
|
2785
|
-
},
|
2786
|
-
addUtterance: (utt) => {
|
2787
|
-
utterance = utt;
|
2788
|
-
set({ isSpeaking: true });
|
2789
|
-
utt.onEnd(() => {
|
2790
|
-
set({ isSpeaking: false });
|
2791
|
-
});
|
2792
|
-
},
|
2793
2831
|
submittedFeedback: null,
|
2794
2832
|
setSubmittedFeedback: (feedback) => {
|
2795
2833
|
set({ submittedFeedback: feedback });
|
@@ -3523,7 +3561,8 @@ var getThreadState = (runtime) => {
|
|
3523
3561
|
isRunning: _optionalChain([lastMessage, 'optionalAccess', _178 => _178.role]) !== "assistant" ? false : lastMessage.status.type === "running",
|
3524
3562
|
messages: runtime.messages,
|
3525
3563
|
suggestions: runtime.suggestions,
|
3526
|
-
extras: runtime.extras
|
3564
|
+
extras: runtime.extras,
|
3565
|
+
speech: runtime.speech
|
3527
3566
|
});
|
3528
3567
|
};
|
3529
3568
|
var ThreadRuntimeImpl = (_class12 = class {
|
@@ -3570,6 +3609,12 @@ var ThreadRuntimeImpl = (_class12 = class {
|
|
3570
3609
|
get messages() {
|
3571
3610
|
return this._threadBinding.getState().messages;
|
3572
3611
|
}
|
3612
|
+
/**
|
3613
|
+
* @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.
|
3614
|
+
*/
|
3615
|
+
get speech() {
|
3616
|
+
return this._threadBinding.getState().speech;
|
3617
|
+
}
|
3573
3618
|
unstable_getCore() {
|
3574
3619
|
return this._threadBinding.getState();
|
3575
3620
|
}
|
@@ -3630,15 +3675,18 @@ var ThreadRuntimeImpl = (_class12 = class {
|
|
3630
3675
|
switchToBranch(branchId) {
|
3631
3676
|
return this._threadBinding.getState().switchToBranch(branchId);
|
3632
3677
|
}
|
3633
|
-
|
3634
|
-
|
3635
|
-
|
3678
|
+
/**
|
3679
|
+
* @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.
|
3680
|
+
*/
|
3636
3681
|
speak(messageId) {
|
3637
3682
|
return this._threadBinding.getState().speak(messageId);
|
3638
3683
|
}
|
3639
|
-
|
3640
|
-
|
3641
|
-
|
3684
|
+
stopSpeaking() {
|
3685
|
+
return this._threadBinding.getState().stopSpeaking();
|
3686
|
+
}
|
3687
|
+
/**
|
3688
|
+
* @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.
|
3689
|
+
*/
|
3642
3690
|
submitFeedback(options) {
|
3643
3691
|
return this._threadBinding.getState().submitFeedback(options);
|
3644
3692
|
}
|
@@ -3665,7 +3713,7 @@ var ThreadRuntimeImpl = (_class12 = class {
|
|
3665
3713
|
return new MessageRuntimeImpl(
|
3666
3714
|
new ShallowMemoizeSubject({
|
3667
3715
|
getState: () => {
|
3668
|
-
const messages2 = this.getState()
|
3716
|
+
const { messages: messages2, speech: speechState } = this.getState();
|
3669
3717
|
const message = messages2[idx];
|
3670
3718
|
if (!message) return SKIP_UPDATE;
|
3671
3719
|
const branches = this._threadBinding.getState().getBranches(message.id);
|
@@ -3676,7 +3724,8 @@ var ThreadRuntimeImpl = (_class12 = class {
|
|
3676
3724
|
parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _179 => _179[idx - 1], 'optionalAccess', _180 => _180.id]), () => ( null)),
|
3677
3725
|
branches,
|
3678
3726
|
branchNumber: branches.indexOf(message.id) + 1,
|
3679
|
-
branchCount: branches.length
|
3727
|
+
branchCount: branches.length,
|
3728
|
+
speech: _optionalChain([speechState, 'optionalAccess', _181 => _181.messageId]) === message.id ? speechState : null
|
3680
3729
|
};
|
3681
3730
|
},
|
3682
3731
|
subscribe: (callback) => this._threadBinding.subscribe(callback)
|
@@ -3752,7 +3801,7 @@ var fromLanguageModelMessages = (lm, { mergeSteps }) => {
|
|
3752
3801
|
});
|
3753
3802
|
if (mergeSteps) {
|
3754
3803
|
const previousMessage = messages2[messages2.length - 1];
|
3755
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
3804
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _182 => _182.role]) === "assistant") {
|
3756
3805
|
previousMessage.content.push(...newContent);
|
3757
3806
|
break;
|
3758
3807
|
}
|
@@ -3765,7 +3814,7 @@ var fromLanguageModelMessages = (lm, { mergeSteps }) => {
|
|
3765
3814
|
}
|
3766
3815
|
case "tool": {
|
3767
3816
|
const previousMessage = messages2[messages2.length - 1];
|
3768
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
3817
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _183 => _183.role]) !== "assistant")
|
3769
3818
|
throw new Error(
|
3770
3819
|
"A tool message must be preceded by an assistant message."
|
3771
3820
|
);
|
@@ -3887,7 +3936,7 @@ function assistantDecoderStream() {
|
|
3887
3936
|
}
|
3888
3937
|
case "c" /* ToolCallDelta */: {
|
3889
3938
|
const { toolCallId, argsTextDelta } = value;
|
3890
|
-
if (_optionalChain([currentToolCall, 'optionalAccess',
|
3939
|
+
if (_optionalChain([currentToolCall, 'optionalAccess', _184 => _184.id]) !== toolCallId) {
|
3891
3940
|
throw new Error(
|
3892
3941
|
`Received tool call delta for unknown tool call "${toolCallId}".`
|
3893
3942
|
);
|
@@ -4034,7 +4083,7 @@ var useEdgeRuntime = (options) => {
|
|
4034
4083
|
};
|
4035
4084
|
|
4036
4085
|
// src/runtimes/local/shouldContinue.tsx
|
4037
|
-
var shouldContinue = (result) => _optionalChain([result, 'access',
|
4086
|
+
var shouldContinue = (result) => _optionalChain([result, 'access', _185 => _185.status, 'optionalAccess', _186 => _186.type]) === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
|
4038
4087
|
|
4039
4088
|
// src/runtimes/composer/DefaultEditComposerRuntimeCore.tsx
|
4040
4089
|
var DefaultEditComposerRuntimeCore = class extends BaseComposerRuntimeCore {
|
@@ -4075,7 +4124,7 @@ var DefaultEditComposerRuntimeCore = class extends BaseComposerRuntimeCore {
|
|
4075
4124
|
|
4076
4125
|
// src/runtimes/local/LocalThreadRuntimeCore.tsx
|
4077
4126
|
var LocalThreadRuntimeCore = (_class13 = class {
|
4078
|
-
constructor(configProvider, adapter, { initialMessages, ...options }) {;_class13.prototype.__init24.call(this);_class13.prototype.__init25.call(this);_class13.prototype.__init26.call(this);_class13.prototype.__init27.call(this);_class13.prototype.__init28.call(this);_class13.prototype.__init29.call(this);_class13.prototype.__init30.call(this);_class13.prototype.__init31.call(this);
|
4127
|
+
constructor(configProvider, adapter, { initialMessages, ...options }) {;_class13.prototype.__init24.call(this);_class13.prototype.__init25.call(this);_class13.prototype.__init26.call(this);_class13.prototype.__init27.call(this);_class13.prototype.__init28.call(this);_class13.prototype.__init29.call(this);_class13.prototype.__init30.call(this);_class13.prototype.__init31.call(this);_class13.prototype.__init32.call(this);
|
4079
4128
|
this.configProvider = configProvider;
|
4080
4129
|
this.adapter = adapter;
|
4081
4130
|
this.threadId = generateId();
|
@@ -4122,18 +4171,18 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4122
4171
|
set options({ initialMessages, ...options }) {
|
4123
4172
|
this._options = options;
|
4124
4173
|
let hasUpdates = false;
|
4125
|
-
const canSpeak = _optionalChain([options, 'access',
|
4174
|
+
const canSpeak = _optionalChain([options, 'access', _187 => _187.adapters, 'optionalAccess', _188 => _188.speech]) !== void 0;
|
4126
4175
|
if (this.capabilities.speak !== canSpeak) {
|
4127
4176
|
this.capabilities.speak = canSpeak;
|
4128
4177
|
hasUpdates = true;
|
4129
4178
|
}
|
4130
|
-
this.composer.setAttachmentAdapter(_optionalChain([options, 'access',
|
4131
|
-
const canAttach = _optionalChain([options, 'access',
|
4179
|
+
this.composer.setAttachmentAdapter(_optionalChain([options, 'access', _189 => _189.adapters, 'optionalAccess', _190 => _190.attachments]));
|
4180
|
+
const canAttach = _optionalChain([options, 'access', _191 => _191.adapters, 'optionalAccess', _192 => _192.attachments]) !== void 0;
|
4132
4181
|
if (this.capabilities.attachments !== canAttach) {
|
4133
4182
|
this.capabilities.attachments = canAttach;
|
4134
4183
|
hasUpdates = true;
|
4135
4184
|
}
|
4136
|
-
const canFeedback = _optionalChain([options, 'access',
|
4185
|
+
const canFeedback = _optionalChain([options, 'access', _193 => _193.adapters, 'optionalAccess', _194 => _194.feedback]) !== void 0;
|
4137
4186
|
if (this.capabilities.feedback !== canFeedback) {
|
4138
4187
|
this.capabilities.feedback = canFeedback;
|
4139
4188
|
hasUpdates = true;
|
@@ -4192,13 +4241,13 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4192
4241
|
}
|
4193
4242
|
async performRoundtrip(parentId, message) {
|
4194
4243
|
const messages2 = this.repository.getMessages();
|
4195
|
-
_optionalChain([this, 'access',
|
4244
|
+
_optionalChain([this, 'access', _195 => _195.abortController, 'optionalAccess', _196 => _196.abort, 'call', _197 => _197()]);
|
4196
4245
|
this.abortController = new AbortController();
|
4197
4246
|
const initialContent = message.content;
|
4198
|
-
const initialSteps = _optionalChain([message, 'access',
|
4199
|
-
const initalCustom = _optionalChain([message, 'access',
|
4247
|
+
const initialSteps = _optionalChain([message, 'access', _198 => _198.metadata, 'optionalAccess', _199 => _199.steps]);
|
4248
|
+
const initalCustom = _optionalChain([message, 'access', _200 => _200.metadata, 'optionalAccess', _201 => _201.custom]);
|
4200
4249
|
const updateMessage = (m) => {
|
4201
|
-
const newSteps = _optionalChain([m, 'access',
|
4250
|
+
const newSteps = _optionalChain([m, 'access', _202 => _202.metadata, 'optionalAccess', _203 => _203.steps]) || _optionalChain([m, 'access', _204 => _204.metadata, 'optionalAccess', _205 => _205.roundtrips]);
|
4202
4251
|
const steps2 = newSteps ? [..._nullishCoalesce(initialSteps, () => ( [])), ...newSteps] : void 0;
|
4203
4252
|
message = {
|
4204
4253
|
...message,
|
@@ -4210,7 +4259,7 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4210
4259
|
metadata: {
|
4211
4260
|
...message.metadata,
|
4212
4261
|
...steps2 ? { roundtrips: steps2, steps: steps2 } : void 0,
|
4213
|
-
..._optionalChain([m, 'access',
|
4262
|
+
..._optionalChain([m, 'access', _206 => _206.metadata, 'optionalAccess', _207 => _207.custom]) ? {
|
4214
4263
|
custom: { ..._nullishCoalesce(initalCustom, () => ( {})), ...m.metadata.custom }
|
4215
4264
|
} : void 0
|
4216
4265
|
}
|
@@ -4220,7 +4269,7 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4220
4269
|
this.notifySubscribers();
|
4221
4270
|
};
|
4222
4271
|
const maxSteps = this.options.maxSteps ? this.options.maxSteps : (_nullishCoalesce(this.options.maxToolRoundtrips, () => ( 1))) + 1;
|
4223
|
-
const steps = _nullishCoalesce(_optionalChain([message, 'access',
|
4272
|
+
const steps = _nullishCoalesce(_optionalChain([message, 'access', _208 => _208.metadata, 'optionalAccess', _209 => _209.steps, 'optionalAccess', _210 => _210.length]), () => ( 0));
|
4224
4273
|
if (steps >= maxSteps) {
|
4225
4274
|
updateMessage({
|
4226
4275
|
status: {
|
@@ -4316,27 +4365,38 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4316
4365
|
this.performRoundtrip(parentId, message);
|
4317
4366
|
}
|
4318
4367
|
}
|
4319
|
-
// TODO
|
4368
|
+
// TODO speech runtime?
|
4320
4369
|
|
4370
|
+
__init32() {this.speech = null}
|
4321
4371
|
speak(messageId) {
|
4322
|
-
const adapter = _optionalChain([this, 'access',
|
4372
|
+
const adapter = _optionalChain([this, 'access', _211 => _211.options, 'access', _212 => _212.adapters, 'optionalAccess', _213 => _213.speech]);
|
4323
4373
|
if (!adapter) throw new Error("Speech adapter not configured");
|
4324
4374
|
const { message } = this.repository.getMessage(messageId);
|
4325
|
-
|
4326
|
-
this._utterance.cancel();
|
4327
|
-
this._utterance = void 0;
|
4328
|
-
}
|
4375
|
+
_optionalChain([this, 'access', _214 => _214._stopSpeaking, 'optionalCall', _215 => _215()]);
|
4329
4376
|
const utterance = adapter.speak(message);
|
4330
|
-
utterance.
|
4331
|
-
if (
|
4332
|
-
this.
|
4377
|
+
const unsub = utterance.subscribe(() => {
|
4378
|
+
if (utterance.status.type === "ended") {
|
4379
|
+
this._stopSpeaking = void 0;
|
4380
|
+
this.speech = null;
|
4381
|
+
} else {
|
4382
|
+
this.speech = { messageId, status: utterance.status };
|
4333
4383
|
}
|
4384
|
+
this.notifySubscribers();
|
4334
4385
|
});
|
4335
|
-
this.
|
4336
|
-
|
4386
|
+
this.speech = { messageId, status: utterance.status };
|
4387
|
+
this._stopSpeaking = () => {
|
4388
|
+
utterance.cancel();
|
4389
|
+
unsub();
|
4390
|
+
this.speech = null;
|
4391
|
+
this._stopSpeaking = void 0;
|
4392
|
+
};
|
4393
|
+
}
|
4394
|
+
stopSpeaking() {
|
4395
|
+
if (!this._stopSpeaking) throw new Error("No message is being spoken");
|
4396
|
+
this._stopSpeaking();
|
4337
4397
|
}
|
4338
4398
|
submitFeedback({ messageId, type }) {
|
4339
|
-
const adapter = _optionalChain([this, 'access',
|
4399
|
+
const adapter = _optionalChain([this, 'access', _216 => _216.options, 'access', _217 => _217.adapters, 'optionalAccess', _218 => _218.feedback]);
|
4340
4400
|
if (!adapter) throw new Error("Feedback adapter not configured");
|
4341
4401
|
const { message } = this.repository.getMessage(messageId);
|
4342
4402
|
adapter.submit({ message, type });
|
@@ -4383,7 +4443,7 @@ var LocalRuntimeCore = class extends BaseAssistantRuntimeCore {
|
|
4383
4443
|
const messages2 = fromCoreMessages(initialMessages);
|
4384
4444
|
this.thread.import({
|
4385
4445
|
messages: messages2.map((m, idx) => ({
|
4386
|
-
parentId: _nullishCoalesce(_optionalChain([messages2, 'access',
|
4446
|
+
parentId: _nullishCoalesce(_optionalChain([messages2, 'access', _219 => _219[idx - 1], 'optionalAccess', _220 => _220.id]), () => ( null)),
|
4387
4447
|
message: m
|
4388
4448
|
}))
|
4389
4449
|
});
|
@@ -4419,8 +4479,8 @@ var getExternalStoreMessage = (message) => {
|
|
4419
4479
|
};
|
4420
4480
|
|
4421
4481
|
// src/runtimes/external-store/ThreadMessageConverter.ts
|
4422
|
-
var ThreadMessageConverter = (_class14 = class {constructor() { _class14.prototype.
|
4423
|
-
|
4482
|
+
var ThreadMessageConverter = (_class14 = class {constructor() { _class14.prototype.__init33.call(this); }
|
4483
|
+
__init33() {this.cache = /* @__PURE__ */ new WeakMap()}
|
4424
4484
|
convertMessages(messages2, converter) {
|
4425
4485
|
return messages2.map((m, idx) => {
|
4426
4486
|
const cached = this.cache.get(m);
|
@@ -4517,17 +4577,17 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
|
4517
4577
|
// src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx
|
4518
4578
|
var EMPTY_ARRAY2 = Object.freeze([]);
|
4519
4579
|
var hasUpcomingMessage = (isRunning, messages2) => {
|
4520
|
-
return isRunning && _optionalChain([messages2, 'access',
|
4580
|
+
return isRunning && _optionalChain([messages2, 'access', _221 => _221[messages2.length - 1], 'optionalAccess', _222 => _222.role]) !== "assistant";
|
4521
4581
|
};
|
4522
4582
|
var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
4523
|
-
constructor(configProvider, store) {;_class15.prototype.
|
4583
|
+
constructor(configProvider, store) {;_class15.prototype.__init34.call(this);_class15.prototype.__init35.call(this);_class15.prototype.__init36.call(this);_class15.prototype.__init37.call(this);_class15.prototype.__init38.call(this);_class15.prototype.__init39.call(this);_class15.prototype.__init40.call(this);_class15.prototype.__init41.call(this);_class15.prototype.__init42.call(this);_class15.prototype.__init43.call(this);_class15.prototype.__init44.call(this);
|
4524
4584
|
this.configProvider = configProvider;
|
4525
4585
|
this.store = store;
|
4526
4586
|
}
|
4527
|
-
|
4528
|
-
|
4529
|
-
|
4530
|
-
|
4587
|
+
__init34() {this._subscriptions = /* @__PURE__ */ new Set()}
|
4588
|
+
__init35() {this.repository = new MessageRepository()}
|
4589
|
+
__init36() {this.assistantOptimisticId = null}
|
4590
|
+
__init37() {this._capabilities = {
|
4531
4591
|
switchToBranch: false,
|
4532
4592
|
edit: false,
|
4533
4593
|
reload: false,
|
@@ -4543,12 +4603,12 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4543
4603
|
|
4544
4604
|
|
4545
4605
|
|
4546
|
-
|
4547
|
-
|
4548
|
-
|
4606
|
+
__init38() {this.suggestions = []}
|
4607
|
+
__init39() {this.extras = void 0}
|
4608
|
+
__init40() {this._converter = new ThreadMessageConverter()}
|
4549
4609
|
|
4550
|
-
|
4551
|
-
|
4610
|
+
__init41() {this.composer = new DefaultThreadComposerRuntimeCore(this)}
|
4611
|
+
__init42() {this._editComposers = /* @__PURE__ */ new Map()}
|
4552
4612
|
getEditComposer(messageId) {
|
4553
4613
|
return this._editComposers.get(messageId);
|
4554
4614
|
}
|
@@ -4583,12 +4643,12 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4583
4643
|
reload: this._store.onReload !== void 0,
|
4584
4644
|
cancel: this._store.onCancel !== void 0,
|
4585
4645
|
speak: this._store.onSpeak !== void 0,
|
4586
|
-
unstable_copy: _optionalChain([this, 'access',
|
4646
|
+
unstable_copy: _optionalChain([this, 'access', _226 => _226._store, 'access', _227 => _227.unstable_capabilities, 'optionalAccess', _228 => _228.copy]) !== false,
|
4587
4647
|
// default true
|
4588
|
-
attachments: !!_optionalChain([this, 'access',
|
4589
|
-
feedback: !!_optionalChain([this, 'access',
|
4648
|
+
attachments: !!_optionalChain([this, 'access', _229 => _229.store, 'access', _230 => _230.adapters, 'optionalAccess', _231 => _231.attachments]),
|
4649
|
+
feedback: !!_optionalChain([this, 'access', _232 => _232.store, 'access', _233 => _233.adapters, 'optionalAccess', _234 => _234.feedback])
|
4590
4650
|
};
|
4591
|
-
this.composer.setAttachmentAdapter(_optionalChain([this, 'access',
|
4651
|
+
this.composer.setAttachmentAdapter(_optionalChain([this, 'access', _235 => _235._store, 'access', _236 => _236.adapters, 'optionalAccess', _237 => _237.attachments]));
|
4592
4652
|
if (oldStore) {
|
4593
4653
|
if (oldStore.convertMessage !== store.convertMessage) {
|
4594
4654
|
this._converter = new ThreadMessageConverter();
|
@@ -4614,7 +4674,7 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4614
4674
|
for (let i = 0; i < messages2.length; i++) {
|
4615
4675
|
const message = messages2[i];
|
4616
4676
|
const parent = messages2[i - 1];
|
4617
|
-
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess',
|
4677
|
+
this.repository.addOrUpdateMessage(_nullishCoalesce(_optionalChain([parent, 'optionalAccess', _238 => _238.id]), () => ( null)), message);
|
4618
4678
|
}
|
4619
4679
|
if (this.assistantOptimisticId) {
|
4620
4680
|
this.repository.deleteMessage(this.assistantOptimisticId);
|
@@ -4622,7 +4682,7 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4622
4682
|
}
|
4623
4683
|
if (hasUpcomingMessage(isRunning, messages2)) {
|
4624
4684
|
this.assistantOptimisticId = this.repository.appendOptimisticMessage(
|
4625
|
-
_nullishCoalesce(_optionalChain([messages2, 'access',
|
4685
|
+
_nullishCoalesce(_optionalChain([messages2, 'access', _239 => _239.at, 'call', _240 => _240(-1), 'optionalAccess', _241 => _241.id]), () => ( null)),
|
4626
4686
|
{
|
4627
4687
|
role: "assistant",
|
4628
4688
|
content: []
|
@@ -4630,7 +4690,7 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4630
4690
|
);
|
4631
4691
|
}
|
4632
4692
|
this.repository.resetHead(
|
4633
|
-
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages2, 'access',
|
4693
|
+
_nullishCoalesce(_nullishCoalesce(this.assistantOptimisticId, () => ( _optionalChain([messages2, 'access', _242 => _242.at, 'call', _243 => _243(-1), 'optionalAccess', _244 => _244.id]))), () => ( null))
|
4634
4694
|
);
|
4635
4695
|
this.messages = this.repository.getMessages();
|
4636
4696
|
this.notifySubscribers();
|
@@ -4651,7 +4711,7 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4651
4711
|
this.updateMessages(this.repository.getMessages());
|
4652
4712
|
}
|
4653
4713
|
async append(message) {
|
4654
|
-
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access',
|
4714
|
+
if (message.parentId !== (_nullishCoalesce(_optionalChain([this, 'access', _245 => _245.messages, 'access', _246 => _246.at, 'call', _247 => _247(-1), 'optionalAccess', _248 => _248.id]), () => ( null)))) {
|
4655
4715
|
if (!this._store.onEdit)
|
4656
4716
|
throw new Error("Runtime does not support editing messages.");
|
4657
4717
|
await this._store.onEdit(message);
|
@@ -4674,7 +4734,7 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4674
4734
|
}
|
4675
4735
|
let messages2 = this.repository.getMessages();
|
4676
4736
|
const previousMessage = messages2[messages2.length - 1];
|
4677
|
-
if (_optionalChain([previousMessage, 'optionalAccess',
|
4737
|
+
if (_optionalChain([previousMessage, 'optionalAccess', _249 => _249.role]) === "user" && previousMessage.id === _optionalChain([messages2, 'access', _250 => _250.at, 'call', _251 => _251(-1), 'optionalAccess', _252 => _252.id])) {
|
4678
4738
|
this.repository.deleteMessage(previousMessage.id);
|
4679
4739
|
if (!this.composer.text.trim()) {
|
4680
4740
|
this.composer.setText(getThreadMessageText(previousMessage));
|
@@ -4692,14 +4752,41 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4692
4752
|
throw new Error("Runtime does not support tool results.");
|
4693
4753
|
this._store.onAddToolResult(options);
|
4694
4754
|
}
|
4755
|
+
// TODO speech runtime?
|
4756
|
+
|
4757
|
+
__init43() {this.speech = null}
|
4695
4758
|
speak(messageId) {
|
4696
|
-
|
4697
|
-
|
4759
|
+
let adapter = _optionalChain([this, 'access', _253 => _253.store, 'access', _254 => _254.adapters, 'optionalAccess', _255 => _255.speech]);
|
4760
|
+
if (!adapter && this.store.onSpeak) {
|
4761
|
+
adapter = { speak: this.store.onSpeak };
|
4762
|
+
}
|
4763
|
+
if (!adapter) throw new Error("Speech adapter not configured");
|
4698
4764
|
const { message } = this.repository.getMessage(messageId);
|
4699
|
-
|
4765
|
+
_optionalChain([this, 'access', _256 => _256._stopSpeaking, 'optionalCall', _257 => _257()]);
|
4766
|
+
const utterance = adapter.speak(message);
|
4767
|
+
const unsub = utterance.subscribe(() => {
|
4768
|
+
if (utterance.status.type === "ended") {
|
4769
|
+
this._stopSpeaking = void 0;
|
4770
|
+
this.speech = null;
|
4771
|
+
} else {
|
4772
|
+
this.speech = { messageId, status: utterance.status };
|
4773
|
+
}
|
4774
|
+
this.notifySubscribers();
|
4775
|
+
});
|
4776
|
+
this.speech = { messageId, status: utterance.status };
|
4777
|
+
this._stopSpeaking = () => {
|
4778
|
+
utterance.cancel();
|
4779
|
+
unsub();
|
4780
|
+
this.speech = null;
|
4781
|
+
this._stopSpeaking = void 0;
|
4782
|
+
};
|
4783
|
+
}
|
4784
|
+
stopSpeaking() {
|
4785
|
+
if (!this._stopSpeaking) throw new Error("No message is being spoken");
|
4786
|
+
this._stopSpeaking();
|
4700
4787
|
}
|
4701
4788
|
submitFeedback({ messageId, type }) {
|
4702
|
-
const adapter = _optionalChain([this, 'access',
|
4789
|
+
const adapter = _optionalChain([this, 'access', _258 => _258._store, 'access', _259 => _259.adapters, 'optionalAccess', _260 => _260.feedback]);
|
4703
4790
|
if (!adapter) throw new Error("Feedback adapter not configured");
|
4704
4791
|
const { message } = this.repository.getMessage(messageId);
|
4705
4792
|
adapter.submit({ message, type });
|
@@ -4708,8 +4795,8 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4708
4795
|
this._subscriptions.add(callback);
|
4709
4796
|
return () => this._subscriptions.delete(callback);
|
4710
4797
|
}
|
4711
|
-
|
4712
|
-
_optionalChain([this, 'access',
|
4798
|
+
__init44() {this.updateMessages = (messages2) => {
|
4799
|
+
_optionalChain([this, 'access', _261 => _261._store, 'access', _262 => _262.setMessages, 'optionalCall', _263 => _263(
|
4713
4800
|
messages2.flatMap(getExternalStoreMessage).filter((m) => m != null)
|
4714
4801
|
)]);
|
4715
4802
|
}}
|
@@ -4963,11 +5050,11 @@ var WebSpeechSynthesisAdapter = class {
|
|
4963
5050
|
speak(message) {
|
4964
5051
|
const text = getThreadMessageText(message);
|
4965
5052
|
const utterance = new SpeechSynthesisUtterance(text);
|
4966
|
-
const
|
5053
|
+
const subscribers = /* @__PURE__ */ new Set();
|
4967
5054
|
const handleEnd = (reason, error) => {
|
4968
5055
|
if (res.status.type === "ended") return;
|
4969
5056
|
res.status = { type: "ended", reason, error };
|
4970
|
-
|
5057
|
+
subscribers.forEach((handler) => handler());
|
4971
5058
|
};
|
4972
5059
|
utterance.addEventListener("end", () => handleEnd("finished"));
|
4973
5060
|
utterance.addEventListener("error", (e) => handleEnd("error", e.error));
|
@@ -4978,7 +5065,7 @@ var WebSpeechSynthesisAdapter = class {
|
|
4978
5065
|
window.speechSynthesis.cancel();
|
4979
5066
|
handleEnd("cancelled");
|
4980
5067
|
},
|
4981
|
-
|
5068
|
+
subscribe: (callback) => {
|
4982
5069
|
if (res.status.type === "ended") {
|
4983
5070
|
let cancelled = false;
|
4984
5071
|
queueMicrotask(() => {
|
@@ -4988,9 +5075,9 @@ var WebSpeechSynthesisAdapter = class {
|
|
4988
5075
|
cancelled = true;
|
4989
5076
|
};
|
4990
5077
|
} else {
|
4991
|
-
|
5078
|
+
subscribers.add(callback);
|
4992
5079
|
return () => {
|
4993
|
-
|
5080
|
+
subscribers.delete(callback);
|
4994
5081
|
};
|
4995
5082
|
}
|
4996
5083
|
}
|
@@ -5000,8 +5087,8 @@ var WebSpeechSynthesisAdapter = class {
|
|
5000
5087
|
};
|
5001
5088
|
|
5002
5089
|
// src/runtimes/attachment/SimpleImageAttachmentAdapter.ts
|
5003
|
-
var SimpleImageAttachmentAdapter = (_class16 = class {constructor() { _class16.prototype.
|
5004
|
-
|
5090
|
+
var SimpleImageAttachmentAdapter = (_class16 = class {constructor() { _class16.prototype.__init45.call(this); }
|
5091
|
+
__init45() {this.accept = "image/*"}
|
5005
5092
|
async add(state) {
|
5006
5093
|
return {
|
5007
5094
|
id: state.file.name,
|
@@ -5035,8 +5122,8 @@ var getFileDataURL = (file) => new Promise((resolve, reject) => {
|
|
5035
5122
|
});
|
5036
5123
|
|
5037
5124
|
// src/runtimes/attachment/SimpleTextAttachmentAdapter.ts
|
5038
|
-
var SimpleTextAttachmentAdapter = (_class17 = class {constructor() { _class17.prototype.
|
5039
|
-
|
5125
|
+
var SimpleTextAttachmentAdapter = (_class17 = class {constructor() { _class17.prototype.__init46.call(this); }
|
5126
|
+
__init46() {this.accept = "text/plain,text/html,text/markdown,text/csv,text/xml,text/json,text/css"}
|
5040
5127
|
async add(state) {
|
5041
5128
|
return {
|
5042
5129
|
id: state.file.name,
|
@@ -5164,7 +5251,7 @@ var ThreadConfigProvider = ({
|
|
5164
5251
|
}) => {
|
5165
5252
|
const hasAssistant = !!useAssistantRuntime({ optional: true });
|
5166
5253
|
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 });
|
5167
|
-
if (!_optionalChain([config, 'optionalAccess',
|
5254
|
+
if (!_optionalChain([config, 'optionalAccess', _264 => _264.runtime])) return configProvider;
|
5168
5255
|
if (hasAssistant) {
|
5169
5256
|
throw new Error(
|
5170
5257
|
"You provided a runtime to <Thread> while simulataneously using <AssistantRuntimeProvider>. This is not allowed."
|
@@ -5240,13 +5327,13 @@ var AssistantActionBarRoot = withDefaults(actionBar_exports.Root, {
|
|
5240
5327
|
className: "aui-assistant-action-bar-root"
|
5241
5328
|
});
|
5242
5329
|
AssistantActionBarRoot.displayName = "AssistantActionBarRoot";
|
5243
|
-
var AssistantActionBarCopy = _react.forwardRef.call(void 0, (props, ref) => {
|
5330
|
+
var AssistantActionBarCopy = _react.forwardRef.call(void 0, ({ copiedDuration, ...props }, ref) => {
|
5244
5331
|
const {
|
5245
5332
|
strings: {
|
5246
5333
|
assistantMessage: { copy: { tooltip = "Copy" } = {} } = {}
|
5247
5334
|
} = {}
|
5248
5335
|
} = useThreadConfig();
|
5249
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actionBar_exports.Copy, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipIconButton, { tooltip, ...props, ref, children: _nullishCoalesce(props.children, () => ( /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
5336
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, actionBar_exports.Copy, { copiedDuration, asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipIconButton, { tooltip, ...props, ref, children: _nullishCoalesce(props.children, () => ( /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
5250
5337
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, message_exports.If, { copied: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CheckIcon, {}) }),
|
5251
5338
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, message_exports.If, { copied: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CopyIcon, {}) })
|
5252
5339
|
] }))) }) });
|
@@ -5361,7 +5448,7 @@ var BranchPicker = () => {
|
|
5361
5448
|
const allowBranchPicker = useAllowBranchPicker(true);
|
5362
5449
|
if (!allowBranchPicker) return null;
|
5363
5450
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, BranchPickerRoot, { hideWhenSingleBranch: true, children: [
|
5364
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5451
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, BranchPickerPrevious, {}),
|
5365
5452
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, BranchPickerState, {}),
|
5366
5453
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, BranchPickerNext, {})
|
5367
5454
|
] });
|
@@ -5371,7 +5458,7 @@ var BranchPickerRoot = withDefaults(branchPicker_exports.Root, {
|
|
5371
5458
|
className: "aui-branch-picker-root"
|
5372
5459
|
});
|
5373
5460
|
BranchPickerRoot.displayName = "BranchPickerRoot";
|
5374
|
-
var
|
5461
|
+
var BranchPickerPrevious = _react.forwardRef.call(void 0, (props, ref) => {
|
5375
5462
|
const {
|
5376
5463
|
strings: {
|
5377
5464
|
branchPicker: { previous: { tooltip = "Previous" } = {} } = {}
|
@@ -5380,7 +5467,7 @@ var BranchPickerPrevious2 = _react.forwardRef.call(void 0, (props, ref) => {
|
|
5380
5467
|
const allowBranchPicker = useAllowBranchPicker();
|
5381
5468
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, branchPicker_exports.Previous, { disabled: !allowBranchPicker, asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipIconButton, { tooltip, ...props, ref, children: _nullishCoalesce(props.children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeftIcon, {}))) }) });
|
5382
5469
|
});
|
5383
|
-
|
5470
|
+
BranchPickerPrevious.displayName = "BranchPickerPrevious";
|
5384
5471
|
var BranchPickerStateWrapper = withDefaults("span", {
|
5385
5472
|
className: "aui-branch-picker-state"
|
5386
5473
|
});
|
@@ -5402,7 +5489,7 @@ var BranchPickerNext = _react.forwardRef.call(void 0, (props, ref) => {
|
|
5402
5489
|
BranchPickerNext.displayName = "BranchPickerNext";
|
5403
5490
|
var exports2 = {
|
5404
5491
|
Root: BranchPickerRoot,
|
5405
|
-
Previous:
|
5492
|
+
Previous: BranchPickerPrevious,
|
5406
5493
|
Next: BranchPickerNext
|
5407
5494
|
};
|
5408
5495
|
var branch_picker_default = Object.assign(BranchPicker, exports2);
|
@@ -5492,7 +5579,7 @@ var AssistantMessageContent = _react.forwardRef.call(void 0, ({ components: comp
|
|
5492
5579
|
{
|
5493
5580
|
components: {
|
5494
5581
|
...componentsProp,
|
5495
|
-
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess',
|
5582
|
+
Text: _nullishCoalesce(_nullishCoalesce(_optionalChain([componentsProp, 'optionalAccess', _265 => _265.Text]), () => ( components.Text)), () => ( content_part_default.Text)),
|
5496
5583
|
tools: toolsComponents
|
5497
5584
|
}
|
5498
5585
|
}
|
@@ -5542,15 +5629,13 @@ CircleStopIcon.displayName = "CircleStopIcon";
|
|
5542
5629
|
|
5543
5630
|
|
5544
5631
|
|
5545
|
-
var ComposerAttachmentRoot = withDefaults(
|
5632
|
+
var ComposerAttachmentRoot = withDefaults(attachment_exports.Root, {
|
5546
5633
|
className: "aui-composer-attachment-root"
|
5547
5634
|
});
|
5548
5635
|
ComposerAttachmentRoot.displayName = "ComposerAttachmentRoot";
|
5549
5636
|
var ComposerAttachment2 = () => {
|
5550
|
-
const attachment = useThreadComposerAttachment((a) => a.attachment);
|
5551
5637
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ComposerAttachmentRoot, { children: [
|
5552
|
-
|
5553
|
-
attachment.name.split(".").pop(),
|
5638
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, attachment_exports.unstable_Thumb, {}),
|
5554
5639
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ComposerAttachmentRemove, {})
|
5555
5640
|
] });
|
5556
5641
|
};
|
@@ -5561,22 +5646,17 @@ var ComposerAttachmentRemove = _react.forwardRef.call(void 0, (props, ref) => {
|
|
5561
5646
|
composer: { removeAttachment: { tooltip = "Remove file" } = {} } = {}
|
5562
5647
|
} = {}
|
5563
5648
|
} = useThreadConfig();
|
5564
|
-
|
5565
|
-
const handleRemoveAttachment = () => {
|
5566
|
-
attachmentRuntime.remove();
|
5567
|
-
};
|
5568
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5649
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, attachment_exports.Remove, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5569
5650
|
TooltipIconButton,
|
5570
5651
|
{
|
5571
5652
|
tooltip,
|
5572
5653
|
className: "aui-composer-attachment-remove",
|
5573
5654
|
side: "top",
|
5574
5655
|
...props,
|
5575
|
-
onClick: handleRemoveAttachment,
|
5576
5656
|
ref,
|
5577
5657
|
children: _nullishCoalesce(props.children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.CircleXIcon, {})))
|
5578
5658
|
}
|
5579
|
-
);
|
5659
|
+
) });
|
5580
5660
|
});
|
5581
5661
|
ComposerAttachmentRemove.displayName = "ComposerAttachmentRemove";
|
5582
5662
|
var exports5 = {
|
@@ -5634,7 +5714,7 @@ var ComposerAttachments = ({ components }) => {
|
|
5634
5714
|
{
|
5635
5715
|
components: {
|
5636
5716
|
...components,
|
5637
|
-
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5717
|
+
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _266 => _266.Attachment]), () => ( composer_attachment_default))
|
5638
5718
|
}
|
5639
5719
|
}
|
5640
5720
|
) });
|
@@ -5679,23 +5759,27 @@ var ComposerSendButton = withDefaults(TooltipIconButton, {
|
|
5679
5759
|
variant: "default",
|
5680
5760
|
className: "aui-composer-send"
|
5681
5761
|
});
|
5682
|
-
var ComposerSend = _react.forwardRef.call(void 0,
|
5683
|
-
|
5684
|
-
|
5685
|
-
|
5686
|
-
|
5687
|
-
});
|
5762
|
+
var ComposerSend = _react.forwardRef.call(void 0,
|
5763
|
+
(props, ref) => {
|
5764
|
+
const {
|
5765
|
+
strings: { composer: { send: { tooltip = "Send" } = {} } = {} } = {}
|
5766
|
+
} = useThreadConfig();
|
5767
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, composer_exports.Send, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ComposerSendButton, { tooltip, ...props, ref, children: _nullishCoalesce(props.children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.SendHorizontalIcon, {}))) }) });
|
5768
|
+
}
|
5769
|
+
);
|
5688
5770
|
ComposerSend.displayName = "ComposerSend";
|
5689
5771
|
var ComposerCancelButton = withDefaults(TooltipIconButton, {
|
5690
5772
|
variant: "default",
|
5691
5773
|
className: "aui-composer-cancel"
|
5692
5774
|
});
|
5693
|
-
var ComposerCancel = _react.forwardRef.call(void 0,
|
5694
|
-
|
5695
|
-
|
5696
|
-
|
5697
|
-
|
5698
|
-
});
|
5775
|
+
var ComposerCancel = _react.forwardRef.call(void 0,
|
5776
|
+
(props, ref) => {
|
5777
|
+
const {
|
5778
|
+
strings: { composer: { cancel: { tooltip = "Cancel" } = {} } = {} } = {}
|
5779
|
+
} = useThreadConfig();
|
5780
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ComposerCancelButton, { tooltip, ...props, ref, children: _nullishCoalesce(props.children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CircleStopIcon, {}))) }) });
|
5781
|
+
}
|
5782
|
+
);
|
5699
5783
|
ComposerCancel.displayName = "ComposerCancel";
|
5700
5784
|
var exports6 = {
|
5701
5785
|
Root: ComposerRoot,
|
@@ -5727,11 +5811,9 @@ var ThreadWelcomeRootStyled = withDefaults("div", {
|
|
5727
5811
|
var ThreadWelcomeCenter = withDefaults("div", {
|
5728
5812
|
className: "aui-thread-welcome-center"
|
5729
5813
|
});
|
5730
|
-
var ThreadWelcomeRoot = _react.forwardRef.call(void 0,
|
5731
|
-
(props, ref)
|
5732
|
-
|
5733
|
-
}
|
5734
|
-
);
|
5814
|
+
var ThreadWelcomeRoot = _react.forwardRef.call(void 0, (props, ref) => {
|
5815
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.Empty, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeRootStyled, { ...props, ref }) });
|
5816
|
+
});
|
5735
5817
|
ThreadWelcomeRoot.displayName = "ThreadWelcomeRoot";
|
5736
5818
|
var ThreadWelcomeAvatar = () => {
|
5737
5819
|
const { assistantAvatar: avatar = { fallback: "A" } } = useThreadConfig();
|
@@ -5760,7 +5842,7 @@ var ThreadWelcomeSuggestions = () => {
|
|
5760
5842
|
const suggestions2 = useThread((t) => t.suggestions);
|
5761
5843
|
const { welcome: { suggestions } = {} } = useThreadConfig();
|
5762
5844
|
const finalSuggestions = suggestions2.length ? suggestions2 : suggestions;
|
5763
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([finalSuggestions, 'optionalAccess',
|
5845
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([finalSuggestions, 'optionalAccess', _267 => _267.map, 'call', _268 => _268((suggestion, idx) => {
|
5764
5846
|
const key = `${suggestion.prompt}-${idx}`;
|
5765
5847
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestion, { suggestion }, key);
|
5766
5848
|
})]) });
|
@@ -5814,16 +5896,12 @@ var user_action_bar_default = Object.assign(UserActionBar, exports8);
|
|
5814
5896
|
|
5815
5897
|
// src/ui/user-message-attachment.tsx
|
5816
5898
|
|
5817
|
-
var UserMessageAttachmentRoot = withDefaults(
|
5899
|
+
var UserMessageAttachmentRoot = withDefaults(attachment_exports.Root, {
|
5818
5900
|
className: "aui-user-message-attachment-root"
|
5819
5901
|
});
|
5820
5902
|
UserMessageAttachmentRoot.displayName = "UserMessageAttachmentRoot";
|
5821
5903
|
var UserMessageAttachment = () => {
|
5822
|
-
|
5823
|
-
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, UserMessageAttachmentRoot, { children: [
|
5824
|
-
".",
|
5825
|
-
attachment.name.split(".").pop()
|
5826
|
-
] });
|
5904
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserMessageAttachmentRoot, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, attachment_exports.unstable_Thumb, {}) });
|
5827
5905
|
};
|
5828
5906
|
UserMessageAttachment.displayName = "UserMessageAttachment";
|
5829
5907
|
var exports9 = {
|
@@ -5852,19 +5930,17 @@ UserMessageRoot.displayName = "UserMessageRoot";
|
|
5852
5930
|
var UserMessageContentWrapper = withDefaults("div", {
|
5853
5931
|
className: "aui-user-message-content"
|
5854
5932
|
});
|
5855
|
-
var UserMessageContent = _react.forwardRef.call(void 0,
|
5856
|
-
(
|
5857
|
-
|
5858
|
-
|
5859
|
-
{
|
5860
|
-
components
|
5861
|
-
|
5862
|
-
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _261 => _261.Text]), () => ( content_part_default.Text))
|
5863
|
-
}
|
5933
|
+
var UserMessageContent = _react.forwardRef.call(void 0, ({ components, ...props }, ref) => {
|
5934
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserMessageContentWrapper, { ...props, ref, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5935
|
+
message_exports.Content,
|
5936
|
+
{
|
5937
|
+
components: {
|
5938
|
+
...components,
|
5939
|
+
Text: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _269 => _269.Text]), () => ( content_part_default.Text))
|
5864
5940
|
}
|
5865
|
-
|
5866
|
-
}
|
5867
|
-
);
|
5941
|
+
}
|
5942
|
+
) });
|
5943
|
+
});
|
5868
5944
|
UserMessageContent.displayName = "UserMessageContent";
|
5869
5945
|
var UserMessageAttachmentsContainer = withDefaults("div", {
|
5870
5946
|
className: "aui-user-message-attachments"
|
@@ -5877,7 +5953,7 @@ var UserMessageAttachments = ({
|
|
5877
5953
|
{
|
5878
5954
|
components: {
|
5879
5955
|
...components,
|
5880
|
-
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5956
|
+
Attachment: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _270 => _270.Attachment]), () => ( user_message_attachment_default))
|
5881
5957
|
}
|
5882
5958
|
}
|
5883
5959
|
) }) });
|
@@ -5914,25 +5990,19 @@ var EditComposerFooter = withDefaults("div", {
|
|
5914
5990
|
className: "aui-edit-composer-footer"
|
5915
5991
|
});
|
5916
5992
|
EditComposerFooter.displayName = "EditComposerFooter";
|
5917
|
-
var EditComposerCancel = _react.forwardRef.call(void 0,
|
5918
|
-
|
5919
|
-
|
5920
|
-
|
5921
|
-
|
5922
|
-
|
5923
|
-
} = useThreadConfig();
|
5924
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { variant: "ghost", ...props, ref, children: _nullishCoalesce(props.children, () => ( label)) }) });
|
5925
|
-
}
|
5926
|
-
);
|
5993
|
+
var EditComposerCancel = _react.forwardRef.call(void 0, (props, ref) => {
|
5994
|
+
const {
|
5995
|
+
strings: { editComposer: { cancel: { label = "Cancel" } = {} } = {} } = {}
|
5996
|
+
} = useThreadConfig();
|
5997
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { variant: "ghost", ...props, ref, children: _nullishCoalesce(props.children, () => ( label)) }) });
|
5998
|
+
});
|
5927
5999
|
EditComposerCancel.displayName = "EditComposerCancel";
|
5928
|
-
var EditComposerSend = _react.forwardRef.call(void 0,
|
5929
|
-
|
5930
|
-
|
5931
|
-
|
5932
|
-
|
5933
|
-
|
5934
|
-
}
|
5935
|
-
);
|
6000
|
+
var EditComposerSend = _react.forwardRef.call(void 0, (props, ref) => {
|
6001
|
+
const {
|
6002
|
+
strings: { editComposer: { send: { label = "Send" } = {} } = {} } = {}
|
6003
|
+
} = useThreadConfig();
|
6004
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, composer_exports.Send, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Button, { ...props, ref, children: _nullishCoalesce(props.children, () => ( label)) }) });
|
6005
|
+
});
|
5936
6006
|
EditComposerSend.displayName = "EditComposerSend";
|
5937
6007
|
var exports11 = {
|
5938
6008
|
Root: EditComposerRoot,
|
@@ -5986,10 +6056,10 @@ var ThreadMessages = ({ components, unstable_flexGrowDiv: flexGrowDiv = true, ..
|
|
5986
6056
|
thread_exports.Messages,
|
5987
6057
|
{
|
5988
6058
|
components: {
|
5989
|
-
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5990
|
-
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5991
|
-
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
5992
|
-
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess',
|
6059
|
+
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _271 => _271.UserMessage]), () => ( user_message_default)),
|
6060
|
+
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _272 => _272.EditComposer]), () => ( edit_composer_default)),
|
6061
|
+
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _273 => _273.AssistantMessage]), () => ( assistant_message_default)),
|
6062
|
+
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _274 => _274.SystemMessage]), () => ( SystemMessage))
|
5993
6063
|
},
|
5994
6064
|
...rest
|
5995
6065
|
}
|
@@ -6000,7 +6070,7 @@ var ThreadMessages = ({ components, unstable_flexGrowDiv: flexGrowDiv = true, ..
|
|
6000
6070
|
ThreadMessages.displayName = "ThreadMessages";
|
6001
6071
|
var ThreadFollowupSuggestions = () => {
|
6002
6072
|
const suggestions = useThread((t) => t.suggestions);
|
6003
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.If, { empty: false, running: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aui-thread-followup-suggestions", children: _optionalChain([suggestions, 'optionalAccess',
|
6073
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.If, { empty: false, running: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "aui-thread-followup-suggestions", children: _optionalChain([suggestions, 'optionalAccess', _275 => _275.map, 'call', _276 => _276((suggestion, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
6004
6074
|
thread_exports.Suggestion,
|
6005
6075
|
{
|
6006
6076
|
className: "aui-thread-followup-suggestion",
|
@@ -6044,7 +6114,10 @@ var AssistantModal = (config) => {
|
|
6044
6114
|
] });
|
6045
6115
|
};
|
6046
6116
|
AssistantModal.displayName = "AssistantModal";
|
6047
|
-
var AssistantModalRoot = ({
|
6117
|
+
var AssistantModalRoot = ({
|
6118
|
+
config,
|
6119
|
+
...props
|
6120
|
+
}) => {
|
6048
6121
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadConfigProvider, { config, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, assistantModal_exports.Root, { ...props }) });
|
6049
6122
|
};
|
6050
6123
|
AssistantModalRoot.displayName = "AssistantModalRoot";
|
@@ -6228,5 +6301,6 @@ var assistant_modal_default = Object.assign(AssistantModal, exports13);
|
|
6228
6301
|
|
6229
6302
|
|
6230
6303
|
|
6231
|
-
|
6304
|
+
|
6305
|
+
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.AttachmentPrimitive = attachment_exports; 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 = _chunkKVXP3Q6Kjs.toCoreMessage; exports.toCoreMessages = _chunkKVXP3Q6Kjs.toCoreMessages; exports.toLanguageModelMessages = _chunkKVXP3Q6Kjs.toLanguageModelMessages; exports.toLanguageModelTools = _chunkKVXP3Q6Kjs.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.useComposerRuntime = useComposerRuntime; exports.useComposerSend = useComposerSend; exports.useComposerStore = useComposerStore; exports.useContentPart = useContentPart; exports.useContentPartContext = useContentPartContext; exports.useContentPartDisplay = useContentPartDisplay; exports.useContentPartImage = useContentPartImage; exports.useContentPartRuntime = useContentPartRuntime; 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;
|
6232
6306
|
//# sourceMappingURL=index.js.map
|