@assistant-ui/react 0.5.56 → 0.5.58
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/index.d.mts +17 -8
- package/dist/index.d.ts +17 -8
- package/dist/index.js +32 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +53 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
@@ -603,7 +603,8 @@ type AssistantRuntime = ThreadRuntimeWithSubscribe & {
|
|
603
603
|
/**
|
604
604
|
* @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.
|
605
605
|
*/
|
606
|
-
switchToThread
|
606
|
+
switchToThread(threadId: null): void;
|
607
|
+
switchToThread(threadId: string): void;
|
607
608
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
608
609
|
};
|
609
610
|
|
@@ -614,6 +615,7 @@ declare const AssistantRuntimeProvider: react.NamedExoticComponent<PropsWithChil
|
|
614
615
|
|
615
616
|
type TextContentPartProviderProps = {
|
616
617
|
text: string;
|
618
|
+
isRunning?: boolean | undefined;
|
617
619
|
};
|
618
620
|
declare const TextContentPartProvider: FC<PropsWithChildren<TextContentPartProviderProps>>;
|
619
621
|
|
@@ -621,7 +623,8 @@ type AssistantActionsState = Readonly<{
|
|
621
623
|
/**
|
622
624
|
* @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.
|
623
625
|
*/
|
624
|
-
switchToThread
|
626
|
+
switchToThread(threadId: null): void;
|
627
|
+
switchToThread(threadId: string): void;
|
625
628
|
switchToNewThread: () => void;
|
626
629
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
627
630
|
}>;
|
@@ -698,26 +701,30 @@ declare const useToolUIsStore: {
|
|
698
701
|
};
|
699
702
|
declare const useAssistantActions: {
|
700
703
|
(): Readonly<{
|
701
|
-
switchToThread
|
704
|
+
switchToThread(threadId: null): void;
|
705
|
+
switchToThread(threadId: string): void;
|
702
706
|
switchToNewThread: () => void;
|
703
707
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
704
708
|
}>;
|
705
709
|
<TSelected>(selector: (state: Readonly<{
|
706
|
-
switchToThread
|
710
|
+
switchToThread(threadId: null): void;
|
711
|
+
switchToThread(threadId: string): void;
|
707
712
|
switchToNewThread: () => void;
|
708
713
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
709
714
|
}>) => TSelected): TSelected;
|
710
715
|
(options: {
|
711
716
|
optional: true;
|
712
717
|
}): Readonly<{
|
713
|
-
switchToThread
|
718
|
+
switchToThread(threadId: null): void;
|
719
|
+
switchToThread(threadId: string): void;
|
714
720
|
switchToNewThread: () => void;
|
715
721
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
716
722
|
}> | null;
|
717
723
|
<TSelected>(options: {
|
718
724
|
optional: true;
|
719
725
|
selector?: (state: Readonly<{
|
720
|
-
switchToThread
|
726
|
+
switchToThread(threadId: null): void;
|
727
|
+
switchToThread(threadId: string): void;
|
721
728
|
switchToNewThread: () => void;
|
722
729
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
723
730
|
}>) => TSelected;
|
@@ -725,14 +732,16 @@ declare const useAssistantActions: {
|
|
725
732
|
};
|
726
733
|
declare const useAssistantActionsStore: {
|
727
734
|
(): ReadonlyStore<Readonly<{
|
728
|
-
switchToThread
|
735
|
+
switchToThread(threadId: null): void;
|
736
|
+
switchToThread(threadId: string): void;
|
729
737
|
switchToNewThread: () => void;
|
730
738
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
731
739
|
}>>;
|
732
740
|
(options: {
|
733
741
|
optional: true;
|
734
742
|
}): ReadonlyStore<Readonly<{
|
735
|
-
switchToThread
|
743
|
+
switchToThread(threadId: null): void;
|
744
|
+
switchToThread(threadId: string): void;
|
736
745
|
switchToNewThread: () => void;
|
737
746
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
738
747
|
}>> | null;
|
package/dist/index.d.ts
CHANGED
@@ -603,7 +603,8 @@ type AssistantRuntime = ThreadRuntimeWithSubscribe & {
|
|
603
603
|
/**
|
604
604
|
* @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.
|
605
605
|
*/
|
606
|
-
switchToThread
|
606
|
+
switchToThread(threadId: null): void;
|
607
|
+
switchToThread(threadId: string): void;
|
607
608
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
608
609
|
};
|
609
610
|
|
@@ -614,6 +615,7 @@ declare const AssistantRuntimeProvider: react.NamedExoticComponent<PropsWithChil
|
|
614
615
|
|
615
616
|
type TextContentPartProviderProps = {
|
616
617
|
text: string;
|
618
|
+
isRunning?: boolean | undefined;
|
617
619
|
};
|
618
620
|
declare const TextContentPartProvider: FC<PropsWithChildren<TextContentPartProviderProps>>;
|
619
621
|
|
@@ -621,7 +623,8 @@ type AssistantActionsState = Readonly<{
|
|
621
623
|
/**
|
622
624
|
* @deprecated Use `switchToNewThread` instead. This will be removed in 0.6.0.
|
623
625
|
*/
|
624
|
-
switchToThread
|
626
|
+
switchToThread(threadId: null): void;
|
627
|
+
switchToThread(threadId: string): void;
|
625
628
|
switchToNewThread: () => void;
|
626
629
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
627
630
|
}>;
|
@@ -698,26 +701,30 @@ declare const useToolUIsStore: {
|
|
698
701
|
};
|
699
702
|
declare const useAssistantActions: {
|
700
703
|
(): Readonly<{
|
701
|
-
switchToThread
|
704
|
+
switchToThread(threadId: null): void;
|
705
|
+
switchToThread(threadId: string): void;
|
702
706
|
switchToNewThread: () => void;
|
703
707
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
704
708
|
}>;
|
705
709
|
<TSelected>(selector: (state: Readonly<{
|
706
|
-
switchToThread
|
710
|
+
switchToThread(threadId: null): void;
|
711
|
+
switchToThread(threadId: string): void;
|
707
712
|
switchToNewThread: () => void;
|
708
713
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
709
714
|
}>) => TSelected): TSelected;
|
710
715
|
(options: {
|
711
716
|
optional: true;
|
712
717
|
}): Readonly<{
|
713
|
-
switchToThread
|
718
|
+
switchToThread(threadId: null): void;
|
719
|
+
switchToThread(threadId: string): void;
|
714
720
|
switchToNewThread: () => void;
|
715
721
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
716
722
|
}> | null;
|
717
723
|
<TSelected>(options: {
|
718
724
|
optional: true;
|
719
725
|
selector?: (state: Readonly<{
|
720
|
-
switchToThread
|
726
|
+
switchToThread(threadId: null): void;
|
727
|
+
switchToThread(threadId: string): void;
|
721
728
|
switchToNewThread: () => void;
|
722
729
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
723
730
|
}>) => TSelected;
|
@@ -725,14 +732,16 @@ declare const useAssistantActions: {
|
|
725
732
|
};
|
726
733
|
declare const useAssistantActionsStore: {
|
727
734
|
(): ReadonlyStore<Readonly<{
|
728
|
-
switchToThread
|
735
|
+
switchToThread(threadId: null): void;
|
736
|
+
switchToThread(threadId: string): void;
|
729
737
|
switchToNewThread: () => void;
|
730
738
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
731
739
|
}>>;
|
732
740
|
(options: {
|
733
741
|
optional: true;
|
734
742
|
}): ReadonlyStore<Readonly<{
|
735
|
-
switchToThread
|
743
|
+
switchToThread(threadId: null): void;
|
744
|
+
switchToThread(threadId: string): void;
|
736
745
|
switchToNewThread: () => void;
|
737
746
|
registerModelConfigProvider: (provider: ModelConfigProvider) => Unsubscribe;
|
738
747
|
}>> | null;
|
package/dist/index.js
CHANGED
@@ -1839,8 +1839,8 @@ var ExternalStoreRuntime = (_class9 = class extends BaseAssistantRuntime {
|
|
1839
1839
|
if (!this.store.onSwitchToNewThread)
|
1840
1840
|
throw new Error("Runtime does not support switching to new threads.");
|
1841
1841
|
this.thread = new ExternalStoreThreadRuntime({
|
1842
|
-
|
1843
|
-
|
1842
|
+
...this.store,
|
1843
|
+
messages: []
|
1844
1844
|
});
|
1845
1845
|
await this.store.onSwitchToNewThread();
|
1846
1846
|
}
|
@@ -1849,8 +1849,9 @@ var ExternalStoreRuntime = (_class9 = class extends BaseAssistantRuntime {
|
|
1849
1849
|
if (!this.store.onSwitchToThread)
|
1850
1850
|
throw new Error("Runtime does not support switching threads.");
|
1851
1851
|
this.thread = new ExternalStoreThreadRuntime({
|
1852
|
-
|
1853
|
-
|
1852
|
+
...this.store,
|
1853
|
+
messages: []
|
1854
|
+
// ignore messages until rerender
|
1854
1855
|
});
|
1855
1856
|
this.store.onSwitchToThread(threadId);
|
1856
1857
|
} else {
|
@@ -2347,16 +2348,37 @@ var AssistantRuntimeProvider = _react.memo.call(void 0, AssistantRuntimeProvider
|
|
2347
2348
|
|
2348
2349
|
|
2349
2350
|
|
2350
|
-
var
|
2351
|
+
var COMPLETE_STATUS = {
|
2352
|
+
type: "complete"
|
2353
|
+
};
|
2354
|
+
var RUNNING_STATUS = {
|
2355
|
+
type: "running"
|
2356
|
+
};
|
2357
|
+
var TextContentPartProvider = ({ children, text, isRunning }) => {
|
2351
2358
|
const [context] = _react.useState.call(void 0, () => {
|
2352
2359
|
const useContentPart2 = _zustand.create.call(void 0, () => ({
|
2353
|
-
status:
|
2360
|
+
status: isRunning ? RUNNING_STATUS : COMPLETE_STATUS,
|
2354
2361
|
part: { type: "text", text }
|
2355
2362
|
}));
|
2356
2363
|
return {
|
2357
2364
|
useContentPart: useContentPart2
|
2358
2365
|
};
|
2359
2366
|
});
|
2367
|
+
_react.useEffect.call(void 0, () => {
|
2368
|
+
const state = context.useContentPart.getState();
|
2369
|
+
const textUpdated = state.part.text !== text;
|
2370
|
+
const targetTextPart = textUpdated ? { type: "text", text } : state.part;
|
2371
|
+
const targetStatus = isRunning ? RUNNING_STATUS : COMPLETE_STATUS;
|
2372
|
+
const statusUpdated = state.status !== targetStatus;
|
2373
|
+
if (!textUpdated && !statusUpdated) return;
|
2374
|
+
writableStore(context.useContentPart).setState(
|
2375
|
+
{
|
2376
|
+
part: targetTextPart,
|
2377
|
+
status: targetStatus
|
2378
|
+
},
|
2379
|
+
true
|
2380
|
+
);
|
2381
|
+
}, [context, isRunning, text]);
|
2360
2382
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ContentPartContext.Provider, { value: context, children });
|
2361
2383
|
};
|
2362
2384
|
|
@@ -3283,21 +3305,21 @@ MessagePrimitiveIf.displayName = "MessagePrimitive.If";
|
|
3283
3305
|
|
3284
3306
|
|
3285
3307
|
|
3286
|
-
var
|
3308
|
+
var COMPLETE_STATUS2 = {
|
3287
3309
|
type: "complete"
|
3288
3310
|
};
|
3289
3311
|
var toContentPartStatus = (message, partIndex, part) => {
|
3290
|
-
if (message.role !== "assistant") return
|
3312
|
+
if (message.role !== "assistant") return COMPLETE_STATUS2;
|
3291
3313
|
const isLastPart = partIndex === Math.max(0, message.content.length - 1);
|
3292
3314
|
if (part.type !== "tool-call") {
|
3293
3315
|
if ("reason" in message.status && message.status.reason === "tool-calls" && isLastPart)
|
3294
3316
|
throw new Error(
|
3295
3317
|
"Encountered unexpected requires-action status. This is likely an internal bug in assistant-ui."
|
3296
3318
|
);
|
3297
|
-
return isLastPart ? message.status :
|
3319
|
+
return isLastPart ? message.status : COMPLETE_STATUS2;
|
3298
3320
|
}
|
3299
3321
|
if (!!part.result) {
|
3300
|
-
return
|
3322
|
+
return COMPLETE_STATUS2;
|
3301
3323
|
}
|
3302
3324
|
return message.status;
|
3303
3325
|
};
|