@assistant-ui/react 0.5.69 → 0.5.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{edge-BhYWMe-K.d.mts → edge-DRioHVD9.d.mts} +6 -7
- package/dist/{edge-BhYWMe-K.d.ts → edge-DRioHVD9.d.ts} +6 -7
- package/dist/index.d.mts +284 -43
- package/dist/index.d.ts +284 -43
- package/dist/index.js +143 -104
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +129 -90
- package/dist/index.mjs.map +1 -1
- package/dist/styles/index.css +48 -3
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/tailwindcss/thread.css +12 -4
- package/dist/tailwindcss/index.js +2 -2
- package/dist/tailwindcss/index.js.map +1 -1
- package/dist/tailwindcss/index.mjs +1 -1
- package/dist/tailwindcss/index.mjs.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
@@ -288,7 +288,7 @@ var { useContentPart, useContentPartStore } = createContextStoreHook(
|
|
288
288
|
);
|
289
289
|
|
290
290
|
// src/api/ContentPartRuntime.ts
|
291
|
-
var
|
291
|
+
var ContentPartRuntimeImpl = class {
|
292
292
|
constructor(contentBinding, messageApi, threadApi) {
|
293
293
|
this.contentBinding = contentBinding;
|
294
294
|
this.messageApi = messageApi;
|
@@ -330,7 +330,7 @@ var TextContentPartProvider = ({ children, text, isRunning }) => {
|
|
330
330
|
const [context] = _react.useState.call(void 0, () => {
|
331
331
|
const useContentPartRuntime2 = _zustand.create.call(void 0,
|
332
332
|
// TODO
|
333
|
-
() => new
|
333
|
+
() => new ContentPartRuntimeImpl(null, null, null)
|
334
334
|
);
|
335
335
|
const useContentPart2 = _zustand.create.call(void 0, () => ({
|
336
336
|
status: isRunning ? RUNNING_STATUS : COMPLETE_STATUS,
|
@@ -343,13 +343,14 @@ var TextContentPartProvider = ({ children, text, isRunning }) => {
|
|
343
343
|
_react.useEffect.call(void 0, () => {
|
344
344
|
const state = context.useContentPart.getState();
|
345
345
|
const textUpdated = state.text !== text;
|
346
|
-
const targetTextPart = textUpdated ? { type: "text", text } : state;
|
347
346
|
const targetStatus = isRunning ? RUNNING_STATUS : COMPLETE_STATUS;
|
348
347
|
const statusUpdated = state.status !== targetStatus;
|
349
348
|
if (!textUpdated && !statusUpdated) return;
|
350
349
|
writableStore(context.useContentPart).setState(
|
351
350
|
{
|
352
|
-
|
351
|
+
type: "text",
|
352
|
+
text,
|
353
|
+
part: { type: "text", text },
|
353
354
|
status: targetStatus
|
354
355
|
},
|
355
356
|
true
|
@@ -1584,7 +1585,7 @@ var ContentPartPrimitiveInProgress = ({ children }) => {
|
|
1584
1585
|
ContentPartPrimitiveInProgress.displayName = "ContentPartPrimitive.InProgress";
|
1585
1586
|
|
1586
1587
|
// src/api/AttachmentRuntime.ts
|
1587
|
-
var
|
1588
|
+
var AttachmentRuntimeImpl = class {
|
1588
1589
|
constructor(_core) {
|
1589
1590
|
this._core = _core;
|
1590
1591
|
}
|
@@ -1595,7 +1596,7 @@ var AttachmentRuntime = class {
|
|
1595
1596
|
return this._core.subscribe(callback);
|
1596
1597
|
}
|
1597
1598
|
};
|
1598
|
-
var ComposerAttachmentRuntime = class extends
|
1599
|
+
var ComposerAttachmentRuntime = class extends AttachmentRuntimeImpl {
|
1599
1600
|
constructor(core, _composerApi) {
|
1600
1601
|
super(core);
|
1601
1602
|
this._composerApi = _composerApi;
|
@@ -1606,17 +1607,17 @@ var ComposerAttachmentRuntime = class extends AttachmentRuntime {
|
|
1606
1607
|
return core.removeAttachment(this.getState().id);
|
1607
1608
|
}
|
1608
1609
|
};
|
1609
|
-
var
|
1610
|
+
var ThreadComposerAttachmentRuntimeImpl = class extends ComposerAttachmentRuntime {
|
1610
1611
|
get source() {
|
1611
1612
|
return "thread-composer";
|
1612
1613
|
}
|
1613
1614
|
};
|
1614
|
-
var
|
1615
|
+
var EditComposerAttachmentRuntimeImpl = class extends ComposerAttachmentRuntime {
|
1615
1616
|
get source() {
|
1616
1617
|
return "edit-composer";
|
1617
1618
|
}
|
1618
1619
|
};
|
1619
|
-
var
|
1620
|
+
var MessageAttachmentRuntimeImpl = class extends AttachmentRuntimeImpl {
|
1620
1621
|
get source() {
|
1621
1622
|
return "message";
|
1622
1623
|
}
|
@@ -1778,7 +1779,7 @@ var getEditComposerState = (runtime, beginEdit) => {
|
|
1778
1779
|
cancel: _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _62 => _62.cancel, 'access', _63 => _63.bind, 'call', _64 => _64(runtime)]), () => ( METHOD_NOT_SUPPORTED))
|
1779
1780
|
});
|
1780
1781
|
};
|
1781
|
-
var
|
1782
|
+
var ComposerRuntimeImpl = class {
|
1782
1783
|
constructor(_core) {
|
1783
1784
|
this._core = _core;
|
1784
1785
|
}
|
@@ -1837,9 +1838,9 @@ var ComposerRuntime = class {
|
|
1837
1838
|
if (!core) throw new Error("Composer is not available");
|
1838
1839
|
return core.addAttachment(file);
|
1839
1840
|
}
|
1840
|
-
|
1841
|
-
|
1842
|
-
|
1841
|
+
/**
|
1842
|
+
* @deprecated Use `getAttachmentById(id).removeAttachment()` instead. This will be removed in 0.6.0.
|
1843
|
+
*/
|
1843
1844
|
removeAttachment(attachmentId) {
|
1844
1845
|
const core = this._core.getState();
|
1845
1846
|
if (!core) throw new Error("Composer is not available");
|
@@ -1867,7 +1868,7 @@ var ComposerRuntime = class {
|
|
1867
1868
|
return this._core.subscribe(callback);
|
1868
1869
|
}
|
1869
1870
|
};
|
1870
|
-
var
|
1871
|
+
var ThreadComposerRuntimeImpl = (_class5 = class extends ComposerRuntimeImpl {
|
1871
1872
|
get type() {
|
1872
1873
|
return "thread";
|
1873
1874
|
}
|
@@ -1895,15 +1896,21 @@ var ThreadComposerRuntime = (_class5 = class extends ComposerRuntime {
|
|
1895
1896
|
}
|
1896
1897
|
// TODO replace with events
|
1897
1898
|
__init9() {this._focusListeners = /* @__PURE__ */ new Set()}
|
1899
|
+
/**
|
1900
|
+
* @deprecated This feature is being removed in 0.6.0. Submit feedback if you need it.
|
1901
|
+
*/
|
1898
1902
|
focus() {
|
1899
1903
|
this._focusListeners.forEach((callback) => callback());
|
1900
1904
|
}
|
1905
|
+
/**
|
1906
|
+
* @deprecated This feature is being removed in 0.6.0. Submit feedback if you need it.
|
1907
|
+
*/
|
1901
1908
|
onFocus(callback) {
|
1902
1909
|
this._focusListeners.add(callback);
|
1903
1910
|
return () => this._focusListeners.delete(callback);
|
1904
1911
|
}
|
1905
|
-
|
1906
|
-
return new
|
1912
|
+
getAttachmentByIndex(idx) {
|
1913
|
+
return new ThreadComposerAttachmentRuntimeImpl(
|
1907
1914
|
new ShallowMemoizeSubject({
|
1908
1915
|
getState: () => {
|
1909
1916
|
const attachments = this.getState().attachments;
|
@@ -1921,7 +1928,7 @@ var ThreadComposerRuntime = (_class5 = class extends ComposerRuntime {
|
|
1921
1928
|
);
|
1922
1929
|
}
|
1923
1930
|
}, _class5);
|
1924
|
-
var
|
1931
|
+
var EditComposerRuntimeImpl = class extends ComposerRuntimeImpl {
|
1925
1932
|
constructor(core, _beginEdit) {
|
1926
1933
|
const stateBinding = new LazyMemoizeSubject({
|
1927
1934
|
getState: () => getEditComposerState(core.getState(), this._beginEdit),
|
@@ -1950,8 +1957,8 @@ var EditComposerRuntime = class extends ComposerRuntime {
|
|
1950
1957
|
edit() {
|
1951
1958
|
this.beginEdit();
|
1952
1959
|
}
|
1953
|
-
|
1954
|
-
return new
|
1960
|
+
getAttachmentByIndex(idx) {
|
1961
|
+
return new EditComposerAttachmentRuntimeImpl(
|
1955
1962
|
new ShallowMemoizeSubject({
|
1956
1963
|
getState: () => {
|
1957
1964
|
const attachments = this.getState().attachments;
|
@@ -2035,12 +2042,12 @@ var getContentPartState = (message, partIndex) => {
|
|
2035
2042
|
const status = toContentPartStatus(message, partIndex, part);
|
2036
2043
|
return Object.freeze({ ...part, part, status });
|
2037
2044
|
};
|
2038
|
-
var
|
2045
|
+
var MessageRuntimeImpl = (_class6 = class {
|
2039
2046
|
constructor(_core, _threadBinding) {;_class6.prototype.__init10.call(this);
|
2040
2047
|
this._core = _core;
|
2041
2048
|
this._threadBinding = _threadBinding;
|
2042
2049
|
}
|
2043
|
-
__init10() {this.composer = new
|
2050
|
+
__init10() {this.composer = new EditComposerRuntimeImpl(
|
2044
2051
|
new NestedSubscriptionSubject({
|
2045
2052
|
getState: () => this._threadBinding.getState().getEditComposer(this._core.getState().id),
|
2046
2053
|
subscribe: (callback) => this._threadBinding.subscribe(callback)
|
@@ -2050,15 +2057,6 @@ var MessageRuntime = (_class6 = class {
|
|
2050
2057
|
getState() {
|
2051
2058
|
return this._core.getState();
|
2052
2059
|
}
|
2053
|
-
// TODO improve type
|
2054
|
-
unstable_edit(message) {
|
2055
|
-
const state = this._core.getState();
|
2056
|
-
if (!state) throw new Error("Message is not available");
|
2057
|
-
this._threadBinding.getState().append({
|
2058
|
-
...message,
|
2059
|
-
parentId: state.parentId
|
2060
|
-
});
|
2061
|
-
}
|
2062
2060
|
reload() {
|
2063
2061
|
const state = this._core.getState();
|
2064
2062
|
if (!state) throw new Error("Message is not available");
|
@@ -2104,9 +2102,9 @@ var MessageRuntime = (_class6 = class {
|
|
2104
2102
|
subscribe(callback) {
|
2105
2103
|
return this._core.subscribe(callback);
|
2106
2104
|
}
|
2107
|
-
|
2105
|
+
getContentPartByIndex(idx) {
|
2108
2106
|
if (idx < 0) throw new Error("Message index must be >= 0");
|
2109
|
-
return new
|
2107
|
+
return new ContentPartRuntimeImpl(
|
2110
2108
|
new ShallowMemoizeSubject({
|
2111
2109
|
getState: () => {
|
2112
2110
|
return getContentPartState(this.getState(), idx);
|
@@ -2117,8 +2115,8 @@ var MessageRuntime = (_class6 = class {
|
|
2117
2115
|
this._threadBinding
|
2118
2116
|
);
|
2119
2117
|
}
|
2120
|
-
|
2121
|
-
return new
|
2118
|
+
getAttachmentByIndex(idx) {
|
2119
|
+
return new MessageAttachmentRuntimeImpl(
|
2122
2120
|
new ShallowMemoizeSubject({
|
2123
2121
|
getState: () => {
|
2124
2122
|
const attachments = this.getState().attachments;
|
@@ -2204,7 +2202,7 @@ var MessageContentPartImpl = ({
|
|
2204
2202
|
}) => {
|
2205
2203
|
const messageRuntime = useMessageRuntime();
|
2206
2204
|
const runtime = _react.useMemo.call(void 0,
|
2207
|
-
() => messageRuntime.
|
2205
|
+
() => messageRuntime.getContentPartByIndex(partIndex),
|
2208
2206
|
[messageRuntime, partIndex]
|
2209
2207
|
);
|
2210
2208
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContentPartRuntimeProvider, { runtime, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageContentPartComponent, { components }) });
|
@@ -2353,7 +2351,7 @@ var AttachmentComponent = ({ components }) => {
|
|
2353
2351
|
var MessageAttachmentImpl = ({ components, attachmentIndex }) => {
|
2354
2352
|
const messageRuntime = useMessageRuntime();
|
2355
2353
|
const runtime = _react.useMemo.call(void 0,
|
2356
|
-
() => messageRuntime.
|
2354
|
+
() => messageRuntime.getAttachmentByIndex(attachmentIndex),
|
2357
2355
|
[messageRuntime, attachmentIndex]
|
2358
2356
|
);
|
2359
2357
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AttachmentRuntimeProvider, { runtime, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AttachmentComponent, { components }) });
|
@@ -2556,7 +2554,7 @@ var AttachmentComponent2 = ({ components }) => {
|
|
2556
2554
|
var ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
|
2557
2555
|
const composerRuntime = useComposerRuntime();
|
2558
2556
|
const runtime = _react.useMemo.call(void 0,
|
2559
|
-
() => composerRuntime.
|
2557
|
+
() => composerRuntime.getAttachmentByIndex(attachmentIndex),
|
2560
2558
|
[composerRuntime, attachmentIndex]
|
2561
2559
|
);
|
2562
2560
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AttachmentRuntimeProvider, { runtime, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AttachmentComponent2, { components }) });
|
@@ -2890,7 +2888,7 @@ var ThreadMessageImpl = ({
|
|
2890
2888
|
}) => {
|
2891
2889
|
const threadRuntime = useThreadRuntime();
|
2892
2890
|
const runtime = _react.useMemo.call(void 0,
|
2893
|
-
() => threadRuntime.
|
2891
|
+
() => threadRuntime.getMesssageByIndex(messageIndex),
|
2894
2892
|
[threadRuntime, messageIndex]
|
2895
2893
|
);
|
2896
2894
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageRuntimeProvider, { runtime, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadMessageComponent, { components }) });
|
@@ -2974,12 +2972,12 @@ var BaseAssistantRuntimeCore = (_class7 = class {
|
|
2974
2972
|
// src/internal.ts
|
2975
2973
|
var internal_exports = {};
|
2976
2974
|
_chunkPZ5AY32Cjs.__export.call(void 0, internal_exports, {
|
2977
|
-
|
2975
|
+
AssistantRuntimeImpl: () => AssistantRuntimeImpl,
|
2978
2976
|
BaseAssistantRuntimeCore: () => BaseAssistantRuntimeCore,
|
2979
2977
|
DefaultThreadComposerRuntimeCore: () => DefaultThreadComposerRuntimeCore,
|
2980
2978
|
MessageRepository: () => MessageRepository,
|
2981
2979
|
ProxyConfigProvider: () => ProxyConfigProvider,
|
2982
|
-
|
2980
|
+
ThreadRuntimeImpl: () => ThreadRuntimeImpl,
|
2983
2981
|
TooltipIconButton: () => TooltipIconButton,
|
2984
2982
|
generateId: () => generateId,
|
2985
2983
|
useSmooth: () => useSmooth,
|
@@ -3467,7 +3465,7 @@ var TooltipIconButton = _react.forwardRef.call(void 0, ({ children, tooltip, sid
|
|
3467
3465
|
TooltipIconButton.displayName = "TooltipIconButton";
|
3468
3466
|
|
3469
3467
|
// src/api/AssistantRuntime.ts
|
3470
|
-
var
|
3468
|
+
var AssistantRuntimeImpl = class {
|
3471
3469
|
constructor(_core, CustomThreadRuntime) {
|
3472
3470
|
this._core = _core;
|
3473
3471
|
this.thread = new CustomThreadRuntime(
|
@@ -3523,10 +3521,12 @@ var getThreadState = (runtime) => {
|
|
3523
3521
|
capabilities: runtime.capabilities,
|
3524
3522
|
isDisabled: runtime.isDisabled,
|
3525
3523
|
isRunning: _optionalChain([lastMessage, 'optionalAccess', _178 => _178.role]) !== "assistant" ? false : lastMessage.status.type === "running",
|
3526
|
-
messages: runtime.messages
|
3524
|
+
messages: runtime.messages,
|
3525
|
+
suggestions: runtime.suggestions,
|
3526
|
+
extras: runtime.extras
|
3527
3527
|
});
|
3528
3528
|
};
|
3529
|
-
var
|
3529
|
+
var ThreadRuntimeImpl = (_class12 = class {
|
3530
3530
|
// public path = "assistant.threads[main]"; // TODO
|
3531
3531
|
/**
|
3532
3532
|
* @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.
|
@@ -3552,6 +3552,18 @@ var ThreadRuntime = (_class12 = class {
|
|
3552
3552
|
get capabilities() {
|
3553
3553
|
return this.getState().capabilities;
|
3554
3554
|
}
|
3555
|
+
/**
|
3556
|
+
* @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.
|
3557
|
+
*/
|
3558
|
+
get extras() {
|
3559
|
+
return this._threadBinding.getState().extras;
|
3560
|
+
}
|
3561
|
+
/**
|
3562
|
+
* @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.
|
3563
|
+
*/
|
3564
|
+
get suggestions() {
|
3565
|
+
return this._threadBinding.getState().suggestions;
|
3566
|
+
}
|
3555
3567
|
/**
|
3556
3568
|
* @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.
|
3557
3569
|
*/
|
@@ -3573,7 +3585,7 @@ var ThreadRuntime = (_class12 = class {
|
|
3573
3585
|
subscribe: (callback) => threadBinding.subscribe(callback)
|
3574
3586
|
};
|
3575
3587
|
}
|
3576
|
-
__init23() {this.composer = new
|
3588
|
+
__init23() {this.composer = new ThreadComposerRuntimeImpl(
|
3577
3589
|
new NestedSubscriptionSubject({
|
3578
3590
|
getState: () => this._threadBinding.getState().composer,
|
3579
3591
|
subscribe: (callback) => this._threadBinding.subscribe(callback)
|
@@ -3590,9 +3602,9 @@ var ThreadRuntime = (_class12 = class {
|
|
3590
3602
|
subscribe(callback) {
|
3591
3603
|
return this._threadBinding.subscribe(callback);
|
3592
3604
|
}
|
3593
|
-
|
3594
|
-
|
3595
|
-
|
3605
|
+
/**
|
3606
|
+
* @derprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.
|
3607
|
+
*/
|
3596
3608
|
getBranches(messageId) {
|
3597
3609
|
return this._threadBinding.getState().getBranches(messageId);
|
3598
3610
|
}
|
@@ -3603,17 +3615,18 @@ var ThreadRuntime = (_class12 = class {
|
|
3603
3615
|
startRun(parentId) {
|
3604
3616
|
return this._threadBinding.getState().startRun(parentId);
|
3605
3617
|
}
|
3606
|
-
// TODO
|
3607
3618
|
cancelRun() {
|
3608
3619
|
this._threadBinding.getState().cancelRun();
|
3609
3620
|
}
|
3610
|
-
|
3611
|
-
|
3612
|
-
|
3621
|
+
/**
|
3622
|
+
* @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.
|
3623
|
+
*/
|
3613
3624
|
addToolResult(options) {
|
3614
3625
|
this._threadBinding.getState().addToolResult(options);
|
3615
3626
|
}
|
3616
|
-
|
3627
|
+
/**
|
3628
|
+
* @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.
|
3629
|
+
*/
|
3617
3630
|
switchToBranch(branchId) {
|
3618
3631
|
return this._threadBinding.getState().switchToBranch(branchId);
|
3619
3632
|
}
|
@@ -3630,13 +3643,13 @@ var ThreadRuntime = (_class12 = class {
|
|
3630
3643
|
return this._threadBinding.getState().submitFeedback(options);
|
3631
3644
|
}
|
3632
3645
|
/**
|
3633
|
-
* @deprecated Use `getMesssageById(id).
|
3646
|
+
* @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer` instead. This will be removed in 0.6.0.
|
3634
3647
|
*/
|
3635
3648
|
getEditComposer(messageId) {
|
3636
3649
|
return this._threadBinding.getState().getEditComposer(messageId);
|
3637
3650
|
}
|
3638
3651
|
/**
|
3639
|
-
* @deprecated Use `getMesssageById(id).
|
3652
|
+
* @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer.beginEdit()` instead. This will be removed in 0.6.0.
|
3640
3653
|
*/
|
3641
3654
|
beginEdit(messageId) {
|
3642
3655
|
return this._threadBinding.getState().beginEdit(messageId);
|
@@ -3647,9 +3660,9 @@ var ThreadRuntime = (_class12 = class {
|
|
3647
3660
|
import(data) {
|
3648
3661
|
this._threadBinding.getState().import(data);
|
3649
3662
|
}
|
3650
|
-
|
3663
|
+
getMesssageByIndex(idx) {
|
3651
3664
|
if (idx < 0) throw new Error("Message index must be >= 0");
|
3652
|
-
return new
|
3665
|
+
return new MessageRuntimeImpl(
|
3653
3666
|
new ShallowMemoizeSubject({
|
3654
3667
|
getState: () => {
|
3655
3668
|
const messages2 = this.getState().messages;
|
@@ -3952,7 +3965,7 @@ var EdgeChatAdapter = class {
|
|
3952
3965
|
}),
|
3953
3966
|
signal: abortSignal
|
3954
3967
|
});
|
3955
|
-
if (result.
|
3968
|
+
if (!result.ok) {
|
3956
3969
|
throw new Error(`Status ${result.status}: ${await result.text()}`);
|
3957
3970
|
}
|
3958
3971
|
const stream = result.body.pipeThrough(streamPartDecoderStream()).pipeThrough(assistantDecoderStream()).pipeThrough(_chunk5KIEXJRKjs.toolResultStream.call(void 0, config.tools, abortSignal)).pipeThrough(_chunk5KIEXJRKjs.runResultStream.call(void 0, ));
|
@@ -4022,7 +4035,7 @@ var DefaultEditComposerRuntimeCore = class extends BaseComposerRuntimeCore {
|
|
4022
4035
|
|
4023
4036
|
// src/runtimes/local/LocalThreadRuntimeCore.tsx
|
4024
4037
|
var LocalThreadRuntimeCore = (_class13 = class {
|
4025
|
-
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);
|
4038
|
+
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);
|
4026
4039
|
this.configProvider = configProvider;
|
4027
4040
|
this.adapter = adapter;
|
4028
4041
|
this.threadId = generateId();
|
@@ -4051,10 +4064,11 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4051
4064
|
}}
|
4052
4065
|
|
4053
4066
|
__init28() {this.isDisabled = false}
|
4067
|
+
__init29() {this.suggestions = []}
|
4054
4068
|
get messages() {
|
4055
4069
|
return this.repository.getMessages();
|
4056
4070
|
}
|
4057
|
-
|
4071
|
+
__init30() {this.composer = new DefaultThreadComposerRuntimeCore(this)}
|
4058
4072
|
getModelConfig() {
|
4059
4073
|
return this.configProvider.getModelConfig();
|
4060
4074
|
}
|
@@ -4062,6 +4076,9 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4062
4076
|
get options() {
|
4063
4077
|
return this._options;
|
4064
4078
|
}
|
4079
|
+
get extras() {
|
4080
|
+
return void 0;
|
4081
|
+
}
|
4065
4082
|
set options({ initialMessages, ...options }) {
|
4066
4083
|
this._options = options;
|
4067
4084
|
let hasUpdates = false;
|
@@ -4083,7 +4100,7 @@ var LocalThreadRuntimeCore = (_class13 = class {
|
|
4083
4100
|
}
|
4084
4101
|
if (hasUpdates) this.notifySubscribers();
|
4085
4102
|
}
|
4086
|
-
|
4103
|
+
__init31() {this._editComposers = /* @__PURE__ */ new Map()}
|
4087
4104
|
getEditComposer(messageId) {
|
4088
4105
|
return this._editComposers.get(messageId);
|
4089
4106
|
}
|
@@ -4342,9 +4359,9 @@ var LocalRuntimeCore = class extends BaseAssistantRuntimeCore {
|
|
4342
4359
|
};
|
4343
4360
|
|
4344
4361
|
// src/runtimes/local/useLocalRuntime.tsx
|
4345
|
-
var LocalRuntime = class extends
|
4362
|
+
var LocalRuntime = class extends AssistantRuntimeImpl {
|
4346
4363
|
constructor(core) {
|
4347
|
-
super(core,
|
4364
|
+
super(core, ThreadRuntimeImpl);
|
4348
4365
|
this.core = core;
|
4349
4366
|
}
|
4350
4367
|
reset(options) {
|
@@ -4370,8 +4387,8 @@ var getExternalStoreMessage = (message) => {
|
|
4370
4387
|
};
|
4371
4388
|
|
4372
4389
|
// src/runtimes/external-store/ThreadMessageConverter.ts
|
4373
|
-
var ThreadMessageConverter = (_class14 = class {constructor() { _class14.prototype.
|
4374
|
-
|
4390
|
+
var ThreadMessageConverter = (_class14 = class {constructor() { _class14.prototype.__init32.call(this); }
|
4391
|
+
__init32() {this.cache = /* @__PURE__ */ new WeakMap()}
|
4375
4392
|
convertMessages(messages2, converter) {
|
4376
4393
|
return messages2.map((m, idx) => {
|
4377
4394
|
const cached = this.cache.get(m);
|
@@ -4466,18 +4483,19 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
|
4466
4483
|
};
|
4467
4484
|
|
4468
4485
|
// src/runtimes/external-store/ExternalStoreThreadRuntimeCore.tsx
|
4486
|
+
var EMPTY_ARRAY2 = Object.freeze([]);
|
4469
4487
|
var hasUpcomingMessage = (isRunning, messages2) => {
|
4470
4488
|
return isRunning && _optionalChain([messages2, 'access', _215 => _215[messages2.length - 1], 'optionalAccess', _216 => _216.role]) !== "assistant";
|
4471
4489
|
};
|
4472
4490
|
var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
4473
|
-
constructor(configProvider, store) {;_class15.prototype.
|
4491
|
+
constructor(configProvider, store) {;_class15.prototype.__init33.call(this);_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);
|
4474
4492
|
this.configProvider = configProvider;
|
4475
4493
|
this.store = store;
|
4476
4494
|
}
|
4477
|
-
|
4478
|
-
|
4479
|
-
|
4480
|
-
|
4495
|
+
__init33() {this._subscriptions = /* @__PURE__ */ new Set()}
|
4496
|
+
__init34() {this.repository = new MessageRepository()}
|
4497
|
+
__init35() {this.assistantOptimisticId = null}
|
4498
|
+
__init36() {this._capabilities = {
|
4481
4499
|
switchToBranch: false,
|
4482
4500
|
edit: false,
|
4483
4501
|
reload: false,
|
@@ -4493,10 +4511,12 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4493
4511
|
|
4494
4512
|
|
4495
4513
|
|
4496
|
-
|
4514
|
+
__init37() {this.suggestions = []}
|
4515
|
+
__init38() {this.extras = void 0}
|
4516
|
+
__init39() {this._converter = new ThreadMessageConverter()}
|
4497
4517
|
|
4498
|
-
|
4499
|
-
|
4518
|
+
__init40() {this.composer = new DefaultThreadComposerRuntimeCore(this)}
|
4519
|
+
__init41() {this._editComposers = /* @__PURE__ */ new Map()}
|
4500
4520
|
getEditComposer(messageId) {
|
4501
4521
|
return this._editComposers.get(messageId);
|
4502
4522
|
}
|
@@ -4523,6 +4543,8 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4523
4543
|
this.isDisabled = _nullishCoalesce(store.isDisabled, () => ( false));
|
4524
4544
|
const oldStore = this._store;
|
4525
4545
|
this._store = store;
|
4546
|
+
this.extras = store.extras;
|
4547
|
+
this.suggestions = _nullishCoalesce(store.suggestions, () => ( EMPTY_ARRAY2));
|
4526
4548
|
this._capabilities = {
|
4527
4549
|
switchToBranch: this._store.setMessages !== void 0,
|
4528
4550
|
edit: this._store.onEdit !== void 0,
|
@@ -4537,13 +4559,13 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4537
4559
|
this.composer.setAttachmentAdapter(_optionalChain([this, 'access', _229 => _229._store, 'access', _230 => _230.adapters, 'optionalAccess', _231 => _231.attachments]));
|
4538
4560
|
if (oldStore) {
|
4539
4561
|
if (oldStore.convertMessage !== store.convertMessage) {
|
4540
|
-
this.
|
4562
|
+
this._converter = new ThreadMessageConverter();
|
4541
4563
|
} else if (oldStore.isRunning === store.isRunning && oldStore.messages === store.messages) {
|
4542
4564
|
this.notifySubscribers();
|
4543
4565
|
return;
|
4544
4566
|
}
|
4545
4567
|
}
|
4546
|
-
const messages2 = !store.convertMessage ? store.messages : this.
|
4568
|
+
const messages2 = !store.convertMessage ? store.messages : this._converter.convertMessages(store.messages, (cache, m, idx) => {
|
4547
4569
|
if (!store.convertMessage) return m;
|
4548
4570
|
const isLast = idx === store.messages.length - 1;
|
4549
4571
|
const autoStatus = getAutoStatus(isLast, isRunning);
|
@@ -4654,7 +4676,7 @@ var ExternalStoreThreadRuntimeCore = (_class15 = class {
|
|
4654
4676
|
this._subscriptions.add(callback);
|
4655
4677
|
return () => this._subscriptions.delete(callback);
|
4656
4678
|
}
|
4657
|
-
|
4679
|
+
__init42() {this.updateMessages = (messages2) => {
|
4658
4680
|
_optionalChain([this, 'access', _250 => _250._store, 'access', _251 => _251.setMessages, 'optionalCall', _252 => _252(
|
4659
4681
|
messages2.flatMap(getExternalStoreMessage).filter((m) => m != null)
|
4660
4682
|
)]);
|
@@ -4718,7 +4740,10 @@ var useExternalStoreRuntime = (store) => {
|
|
4718
4740
|
_react.useEffect.call(void 0, () => {
|
4719
4741
|
runtime.thread.store = store;
|
4720
4742
|
});
|
4721
|
-
return _react.useMemo.call(void 0,
|
4743
|
+
return _react.useMemo.call(void 0,
|
4744
|
+
() => new AssistantRuntimeImpl(runtime, ThreadRuntimeImpl),
|
4745
|
+
[runtime]
|
4746
|
+
);
|
4722
4747
|
};
|
4723
4748
|
|
4724
4749
|
// src/runtimes/external-store/external-message-converter.tsx
|
@@ -4945,8 +4970,8 @@ var WebSpeechSynthesisAdapter = class {
|
|
4945
4970
|
};
|
4946
4971
|
|
4947
4972
|
// src/runtimes/attachment/SimpleImageAttachmentAdapter.ts
|
4948
|
-
var SimpleImageAttachmentAdapter = (_class16 = class {constructor() { _class16.prototype.
|
4949
|
-
|
4973
|
+
var SimpleImageAttachmentAdapter = (_class16 = class {constructor() { _class16.prototype.__init43.call(this); }
|
4974
|
+
__init43() {this.accept = "image/*"}
|
4950
4975
|
async add(state) {
|
4951
4976
|
return {
|
4952
4977
|
id: state.file.name,
|
@@ -4980,8 +5005,8 @@ var getFileDataURL = (file) => new Promise((resolve, reject) => {
|
|
4980
5005
|
});
|
4981
5006
|
|
4982
5007
|
// src/runtimes/attachment/SimpleTextAttachmentAdapter.ts
|
4983
|
-
var SimpleTextAttachmentAdapter = (_class17 = class {constructor() { _class17.prototype.
|
4984
|
-
|
5008
|
+
var SimpleTextAttachmentAdapter = (_class17 = class {constructor() { _class17.prototype.__init44.call(this); }
|
5009
|
+
__init44() {this.accept = "text/plain,text/html,text/markdown,text/csv,text/xml,text/json,text/css"}
|
4985
5010
|
async add(state) {
|
4986
5011
|
return {
|
4987
5012
|
id: state.file.name,
|
@@ -5699,19 +5724,13 @@ var ThreadWelcomeSuggestionStyled = withDefaults(thread_exports.Suggestion, {
|
|
5699
5724
|
var ThreadWelcomeSuggestion = ({
|
5700
5725
|
suggestion: { text, prompt }
|
5701
5726
|
}) => {
|
5702
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5703
|
-
ThreadWelcomeSuggestionStyled,
|
5704
|
-
{
|
5705
|
-
prompt,
|
5706
|
-
method: "replace",
|
5707
|
-
autoSend: true,
|
5708
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "aui-thread-welcome-suggestion-text", children: _nullishCoalesce(text, () => ( prompt)) })
|
5709
|
-
}
|
5710
|
-
);
|
5727
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionStyled, { prompt, method: "replace", autoSend: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "aui-thread-welcome-suggestion-text", children: _nullishCoalesce(text, () => ( prompt)) }) });
|
5711
5728
|
};
|
5712
5729
|
var ThreadWelcomeSuggestions = () => {
|
5730
|
+
const suggestions2 = useThread((t) => t.suggestions);
|
5713
5731
|
const { welcome: { suggestions } = {} } = useThreadConfig();
|
5714
|
-
|
5732
|
+
const finalSuggestions = suggestions2.length ? suggestions2 : suggestions;
|
5733
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestionContainer, { children: _optionalChain([finalSuggestions, 'optionalAccess', _256 => _256.map, 'call', _257 => _257((suggestion, idx) => {
|
5715
5734
|
const key = `${suggestion.prompt}-${idx}`;
|
5716
5735
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadWelcomeSuggestion, { suggestion }, key);
|
5717
5736
|
})]) });
|
@@ -5897,12 +5916,14 @@ var edit_composer_default = Object.assign(EditComposer, exports11);
|
|
5897
5916
|
// src/ui/thread.tsx
|
5898
5917
|
|
5899
5918
|
var Thread = (config) => {
|
5919
|
+
const { components: { Composer: ComposerComponent = composer_default } = {} } = config;
|
5900
5920
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadRoot, { config, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ThreadViewport, { children: [
|
5901
5921
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_welcome_default, {}),
|
5902
5922
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadMessages, {}),
|
5923
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadFollowupSuggestions, {}),
|
5903
5924
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, ThreadViewportFooter, { children: [
|
5904
5925
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ThreadScrollToBottom, {}),
|
5905
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5926
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, ComposerComponent, {})
|
5906
5927
|
] })
|
5907
5928
|
] }) });
|
5908
5929
|
};
|
@@ -5924,21 +5945,38 @@ var ThreadViewportFooter = withDefaults("div", {
|
|
5924
5945
|
});
|
5925
5946
|
ThreadViewportFooter.displayName = "ThreadViewportFooter";
|
5926
5947
|
var SystemMessage = () => null;
|
5927
|
-
var ThreadMessages = ({ components, ...rest }) => {
|
5928
|
-
return /* @__PURE__ */ _jsxruntime.
|
5929
|
-
|
5930
|
-
|
5931
|
-
|
5932
|
-
|
5933
|
-
|
5934
|
-
|
5935
|
-
|
5936
|
-
|
5937
|
-
|
5938
|
-
|
5939
|
-
|
5948
|
+
var ThreadMessages = ({ components, unstable_flexGrowDiv: flexGrowDiv = true, ...rest }) => {
|
5949
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
5950
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5951
|
+
thread_exports.Messages,
|
5952
|
+
{
|
5953
|
+
components: {
|
5954
|
+
UserMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _260 => _260.UserMessage]), () => ( user_message_default)),
|
5955
|
+
EditComposer: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _261 => _261.EditComposer]), () => ( edit_composer_default)),
|
5956
|
+
AssistantMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _262 => _262.AssistantMessage]), () => ( assistant_message_default)),
|
5957
|
+
SystemMessage: _nullishCoalesce(_optionalChain([components, 'optionalAccess', _263 => _263.SystemMessage]), () => ( SystemMessage))
|
5958
|
+
},
|
5959
|
+
...rest
|
5960
|
+
}
|
5961
|
+
),
|
5962
|
+
flexGrowDiv && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, thread_exports.If, { empty: false, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: { flexGrow: 1 } }) })
|
5963
|
+
] });
|
5940
5964
|
};
|
5941
5965
|
ThreadMessages.displayName = "ThreadMessages";
|
5966
|
+
var ThreadFollowupSuggestions = () => {
|
5967
|
+
const suggestions = useThread((t) => t.suggestions);
|
5968
|
+
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', _264 => _264.map, 'call', _265 => _265((suggestion, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
5969
|
+
thread_exports.Suggestion,
|
5970
|
+
{
|
5971
|
+
className: "aui-thread-followup-suggestion",
|
5972
|
+
prompt: suggestion.prompt,
|
5973
|
+
method: "replace",
|
5974
|
+
autoSend: true,
|
5975
|
+
children: suggestion.prompt
|
5976
|
+
},
|
5977
|
+
idx
|
5978
|
+
))]) }) });
|
5979
|
+
};
|
5942
5980
|
var ThreadScrollToBottomIconButton = withDefaults(TooltipIconButton, {
|
5943
5981
|
variant: "outline",
|
5944
5982
|
className: "aui-thread-scroll-to-bottom"
|
@@ -5956,6 +5994,7 @@ var exports12 = {
|
|
5956
5994
|
Root: ThreadRoot,
|
5957
5995
|
Viewport: ThreadViewport,
|
5958
5996
|
Messages: ThreadMessages,
|
5997
|
+
FollowupSuggestions: ThreadFollowupSuggestions,
|
5959
5998
|
ScrollToBottom: ThreadScrollToBottom,
|
5960
5999
|
ViewportFooter: ThreadViewportFooter
|
5961
6000
|
};
|