@assistant-ui/react-native 0.1.1 → 0.1.3
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/context/AssistantContext.d.ts +3 -1
- package/dist/context/AssistantContext.d.ts.map +1 -1
- package/dist/context/AssistantContext.js +2 -2
- package/dist/context/AssistantContext.js.map +1 -1
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/index.js.map +1 -1
- package/dist/context/providers/RuntimeAdapterProvider.d.ts +1 -15
- package/dist/context/providers/RuntimeAdapterProvider.d.ts.map +1 -1
- package/dist/context/providers/RuntimeAdapterProvider.js +1 -13
- package/dist/context/providers/RuntimeAdapterProvider.js.map +1 -1
- package/dist/index.d.ts +12 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -14
- package/dist/index.js.map +1 -1
- package/dist/primitive-hooks/index.d.ts +0 -2
- package/dist/primitive-hooks/index.d.ts.map +1 -1
- package/dist/primitive-hooks/index.js +0 -2
- package/dist/primitive-hooks/index.js.map +1 -1
- package/dist/primitive-hooks/useComposerCancel.js +1 -1
- package/dist/primitive-hooks/useComposerCancel.js.map +1 -1
- package/dist/primitive-hooks/useComposerSend.d.ts.map +1 -1
- package/dist/primitive-hooks/useComposerSend.js +1 -1
- package/dist/primitive-hooks/useComposerSend.js.map +1 -1
- package/dist/primitives/actionBar/index.d.ts +5 -5
- package/dist/primitives/actionBar/index.d.ts.map +1 -1
- package/dist/primitives/actionBar/index.js +5 -5
- package/dist/primitives/actionBar/index.js.map +1 -1
- package/dist/primitives/attachment/index.d.ts +4 -4
- package/dist/primitives/attachment/index.d.ts.map +1 -1
- package/dist/primitives/attachment/index.js +4 -4
- package/dist/primitives/attachment/index.js.map +1 -1
- package/dist/primitives/branchPicker/index.d.ts +4 -4
- package/dist/primitives/branchPicker/index.d.ts.map +1 -1
- package/dist/primitives/branchPicker/index.js +4 -4
- package/dist/primitives/branchPicker/index.js.map +1 -1
- package/dist/primitives/chainOfThought/index.d.ts +3 -3
- package/dist/primitives/chainOfThought/index.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/index.js +3 -3
- package/dist/primitives/chainOfThought/index.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +10 -2
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +36 -4
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/index.d.ts +7 -10
- package/dist/primitives/composer/index.d.ts.map +1 -1
- package/dist/primitives/composer/index.js +7 -10
- package/dist/primitives/composer/index.js.map +1 -1
- package/dist/primitives/message/index.d.ts +5 -5
- package/dist/primitives/message/index.d.ts.map +1 -1
- package/dist/primitives/message/index.js +5 -5
- package/dist/primitives/message/index.js.map +1 -1
- package/dist/primitives/suggestion/index.d.ts +3 -3
- package/dist/primitives/suggestion/index.d.ts.map +1 -1
- package/dist/primitives/suggestion/index.js +3 -3
- package/dist/primitives/suggestion/index.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.d.ts +23 -6
- package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +56 -15
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/index.d.ts +7 -7
- package/dist/primitives/thread/index.d.ts.map +1 -1
- package/dist/primitives/thread/index.js +7 -7
- package/dist/primitives/thread/index.js.map +1 -1
- package/dist/primitives/threadList/index.d.ts +3 -3
- package/dist/primitives/threadList/index.d.ts.map +1 -1
- package/dist/primitives/threadList/index.js +3 -3
- package/dist/primitives/threadList/index.js.map +1 -1
- package/dist/primitives/threadListItem/index.d.ts +6 -6
- package/dist/primitives/threadListItem/index.d.ts.map +1 -1
- package/dist/primitives/threadListItem/index.js +6 -6
- package/dist/primitives/threadListItem/index.js.map +1 -1
- package/dist/runtimes/RemoteThreadListHookInstanceManager.d.ts +1 -95
- package/dist/runtimes/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/RemoteThreadListHookInstanceManager.js +1 -109
- package/dist/runtimes/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts +1 -112
- package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.js +1 -439
- package/dist/runtimes/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/useRemoteThreadListRuntime.d.ts +1 -3
- package/dist/runtimes/useRemoteThreadListRuntime.d.ts.map +1 -1
- package/dist/runtimes/useRemoteThreadListRuntime.js +1 -46
- package/dist/runtimes/useRemoteThreadListRuntime.js.map +1 -1
- package/package.json +6 -6
- package/src/context/AssistantContext.tsx +5 -3
- package/src/context/index.ts +4 -1
- package/src/context/providers/RuntimeAdapterProvider.tsx +5 -42
- package/src/index.ts +11 -20
- package/src/primitive-hooks/index.ts +0 -2
- package/src/primitive-hooks/useComposerCancel.ts +1 -1
- package/src/primitive-hooks/useComposerSend.ts +3 -1
- package/src/primitives/actionBar/index.ts +16 -7
- package/src/primitives/attachment/index.ts +14 -5
- package/src/primitives/branchPicker/index.ts +8 -8
- package/src/primitives/chainOfThought/index.ts +5 -5
- package/src/primitives/composer/ComposerInput.tsx +75 -5
- package/src/primitives/composer/index.ts +19 -19
- package/src/primitives/message/index.ts +13 -7
- package/src/primitives/suggestion/index.ts +6 -6
- package/src/primitives/thread/ThreadMessages.tsx +103 -29
- package/src/primitives/thread/index.ts +17 -11
- package/src/primitives/threadList/index.ts +12 -3
- package/src/primitives/threadListItem/index.ts +11 -11
- package/src/runtimes/RemoteThreadListHookInstanceManager.tsx +1 -180
- package/src/runtimes/RemoteThreadListThreadListRuntimeCore.tsx +1 -538
- package/src/runtimes/useRemoteThreadListRuntime.ts +1 -80
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export {
|
|
2
|
+
ThreadListRoot as Root,
|
|
3
|
+
type ThreadListRootProps as RootProps,
|
|
4
|
+
} from "./ThreadListRoot";
|
|
5
|
+
export {
|
|
6
|
+
ThreadListItems as Items,
|
|
7
|
+
type ThreadListItemsProps as ItemsProps,
|
|
8
|
+
} from "./ThreadListItems";
|
|
9
|
+
export {
|
|
10
|
+
ThreadListNew as New,
|
|
11
|
+
type ThreadListNewProps as NewProps,
|
|
12
|
+
} from "./ThreadListNew";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
export {
|
|
2
|
-
ThreadListItemRoot,
|
|
3
|
-
type ThreadListItemRootProps,
|
|
2
|
+
ThreadListItemRoot as Root,
|
|
3
|
+
type ThreadListItemRootProps as RootProps,
|
|
4
4
|
} from "./ThreadListItemRoot";
|
|
5
|
-
export { ThreadListItemPrimitiveTitle as
|
|
5
|
+
export { ThreadListItemPrimitiveTitle as Title } from "@assistant-ui/core/react";
|
|
6
6
|
export {
|
|
7
|
-
ThreadListItemTrigger,
|
|
8
|
-
type ThreadListItemTriggerProps,
|
|
7
|
+
ThreadListItemTrigger as Trigger,
|
|
8
|
+
type ThreadListItemTriggerProps as TriggerProps,
|
|
9
9
|
} from "./ThreadListItemTrigger";
|
|
10
10
|
export {
|
|
11
|
-
ThreadListItemDelete,
|
|
12
|
-
type ThreadListItemDeleteProps,
|
|
11
|
+
ThreadListItemDelete as Delete,
|
|
12
|
+
type ThreadListItemDeleteProps as DeleteProps,
|
|
13
13
|
} from "./ThreadListItemDelete";
|
|
14
14
|
export {
|
|
15
|
-
ThreadListItemArchive,
|
|
16
|
-
type ThreadListItemArchiveProps,
|
|
15
|
+
ThreadListItemArchive as Archive,
|
|
16
|
+
type ThreadListItemArchiveProps as ArchiveProps,
|
|
17
17
|
} from "./ThreadListItemArchive";
|
|
18
18
|
export {
|
|
19
|
-
ThreadListItemUnarchive,
|
|
20
|
-
type ThreadListItemUnarchiveProps,
|
|
19
|
+
ThreadListItemUnarchive as Unarchive,
|
|
20
|
+
type ThreadListItemUnarchiveProps as UnarchiveProps,
|
|
21
21
|
} from "./ThreadListItemUnarchive";
|
|
@@ -1,180 +1 @@
|
|
|
1
|
-
|
|
2
|
-
FC,
|
|
3
|
-
useCallback,
|
|
4
|
-
useRef,
|
|
5
|
-
useEffect,
|
|
6
|
-
memo,
|
|
7
|
-
PropsWithChildren,
|
|
8
|
-
ComponentType,
|
|
9
|
-
useMemo,
|
|
10
|
-
} from "react";
|
|
11
|
-
import { UseBoundStore, StoreApi, create } from "zustand";
|
|
12
|
-
import { useAui } from "@assistant-ui/store";
|
|
13
|
-
import { ThreadListItemRuntimeProvider } from "../context/providers/ThreadListItemRuntimeProvider";
|
|
14
|
-
import type {
|
|
15
|
-
ThreadListRuntimeCore,
|
|
16
|
-
ThreadRuntimeCore,
|
|
17
|
-
AssistantRuntime,
|
|
18
|
-
} from "@assistant-ui/core";
|
|
19
|
-
import {
|
|
20
|
-
BaseSubscribable,
|
|
21
|
-
ThreadRuntimeImpl,
|
|
22
|
-
ThreadListRuntimeImpl,
|
|
23
|
-
} from "@assistant-ui/core/internal";
|
|
24
|
-
|
|
25
|
-
type RemoteThreadListHook = () => AssistantRuntime;
|
|
26
|
-
|
|
27
|
-
type RemoteThreadListHookInstance = {
|
|
28
|
-
runtime?: ThreadRuntimeCore;
|
|
29
|
-
};
|
|
30
|
-
export class RemoteThreadListHookInstanceManager extends BaseSubscribable {
|
|
31
|
-
private useRuntimeHook: UseBoundStore<
|
|
32
|
-
StoreApi<{ useRuntime: RemoteThreadListHook }>
|
|
33
|
-
>;
|
|
34
|
-
private instances = new Map<string, RemoteThreadListHookInstance>();
|
|
35
|
-
private useAliveThreadsKeysChanged = create(() => ({}));
|
|
36
|
-
private parent: ThreadListRuntimeCore;
|
|
37
|
-
|
|
38
|
-
constructor(
|
|
39
|
-
runtimeHook: RemoteThreadListHook,
|
|
40
|
-
parent: ThreadListRuntimeCore,
|
|
41
|
-
) {
|
|
42
|
-
super();
|
|
43
|
-
this.parent = parent;
|
|
44
|
-
this.useRuntimeHook = create(() => ({ useRuntime: runtimeHook }));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
public startThreadRuntime(threadId: string) {
|
|
48
|
-
if (!this.instances.has(threadId)) {
|
|
49
|
-
this.instances.set(threadId, {});
|
|
50
|
-
this.useAliveThreadsKeysChanged.setState({}, true);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return new Promise<ThreadRuntimeCore>((resolve, reject) => {
|
|
54
|
-
const callback = () => {
|
|
55
|
-
const instance = this.instances.get(threadId);
|
|
56
|
-
if (!instance) {
|
|
57
|
-
dispose();
|
|
58
|
-
reject(new Error("Thread was deleted before runtime was started"));
|
|
59
|
-
} else if (!instance.runtime) {
|
|
60
|
-
return; // misc update
|
|
61
|
-
} else {
|
|
62
|
-
dispose();
|
|
63
|
-
resolve(instance.runtime);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
const dispose = this.subscribe(callback);
|
|
67
|
-
callback();
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
public getThreadRuntimeCore(threadId: string) {
|
|
72
|
-
const instance = this.instances.get(threadId);
|
|
73
|
-
if (!instance) return undefined;
|
|
74
|
-
return instance.runtime;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
public stopThreadRuntime(threadId: string) {
|
|
78
|
-
this.instances.delete(threadId);
|
|
79
|
-
this.useAliveThreadsKeysChanged.setState({}, true);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
public setRuntimeHook(newRuntimeHook: RemoteThreadListHook) {
|
|
83
|
-
const prevRuntimeHook = this.useRuntimeHook.getState().useRuntime;
|
|
84
|
-
if (prevRuntimeHook !== newRuntimeHook) {
|
|
85
|
-
this.useRuntimeHook.setState({ useRuntime: newRuntimeHook }, true);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
private _InnerActiveThreadProvider: FC<{
|
|
90
|
-
threadId: string;
|
|
91
|
-
}> = ({ threadId }) => {
|
|
92
|
-
const { useRuntime } = this.useRuntimeHook();
|
|
93
|
-
const runtime = useRuntime();
|
|
94
|
-
|
|
95
|
-
const threadBinding = (runtime.thread as ThreadRuntimeImpl)
|
|
96
|
-
.__internal_threadBinding;
|
|
97
|
-
|
|
98
|
-
const updateRuntime = useCallback(() => {
|
|
99
|
-
const aliveThread = this.instances.get(threadId);
|
|
100
|
-
if (!aliveThread)
|
|
101
|
-
throw new Error("Thread not found. This is a bug in assistant-ui.");
|
|
102
|
-
|
|
103
|
-
aliveThread.runtime = threadBinding.getState();
|
|
104
|
-
this._notifySubscribers();
|
|
105
|
-
}, [threadId, threadBinding]);
|
|
106
|
-
|
|
107
|
-
const isMounted = useRef(false);
|
|
108
|
-
if (!isMounted.current) {
|
|
109
|
-
updateRuntime();
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
useEffect(() => {
|
|
113
|
-
isMounted.current = true;
|
|
114
|
-
updateRuntime();
|
|
115
|
-
return threadBinding.outerSubscribe(updateRuntime);
|
|
116
|
-
}, [threadBinding, updateRuntime]);
|
|
117
|
-
|
|
118
|
-
const aui = useAui();
|
|
119
|
-
const initPromiseRef = useRef<Promise<unknown> | undefined>(undefined);
|
|
120
|
-
|
|
121
|
-
useEffect(() => {
|
|
122
|
-
const runtimeCore = threadBinding.getState();
|
|
123
|
-
const setGetInitializePromise = (runtimeCore as Record<string, unknown>)[
|
|
124
|
-
"__internal_setGetInitializePromise"
|
|
125
|
-
];
|
|
126
|
-
if (typeof setGetInitializePromise === "function") {
|
|
127
|
-
setGetInitializePromise.call(runtimeCore, () => initPromiseRef.current);
|
|
128
|
-
}
|
|
129
|
-
}, [threadBinding]);
|
|
130
|
-
|
|
131
|
-
useEffect(() => {
|
|
132
|
-
return runtime.threads.main.unstable_on("initialize", () => {
|
|
133
|
-
const state = aui.threadListItem().getState();
|
|
134
|
-
if (state.status === "new") {
|
|
135
|
-
initPromiseRef.current = aui.threadListItem().initialize();
|
|
136
|
-
|
|
137
|
-
const dispose = runtime.thread.unstable_on("runEnd", () => {
|
|
138
|
-
dispose();
|
|
139
|
-
|
|
140
|
-
aui.threadListItem().generateTitle();
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}, [runtime, aui]);
|
|
145
|
-
|
|
146
|
-
return null;
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
private _OuterActiveThreadProvider: FC<{
|
|
150
|
-
threadId: string;
|
|
151
|
-
provider: ComponentType<PropsWithChildren>;
|
|
152
|
-
}> = memo(({ threadId, provider: Provider }) => {
|
|
153
|
-
const runtime = useMemo(
|
|
154
|
-
() => new ThreadListRuntimeImpl(this.parent).getItemById(threadId),
|
|
155
|
-
[threadId],
|
|
156
|
-
);
|
|
157
|
-
|
|
158
|
-
return (
|
|
159
|
-
<ThreadListItemRuntimeProvider runtime={runtime}>
|
|
160
|
-
<Provider>
|
|
161
|
-
<this._InnerActiveThreadProvider threadId={threadId} />
|
|
162
|
-
</Provider>
|
|
163
|
-
</ThreadListItemRuntimeProvider>
|
|
164
|
-
);
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
public __internal_RenderThreadRuntimes: FC<{
|
|
168
|
-
provider: ComponentType<PropsWithChildren>;
|
|
169
|
-
}> = ({ provider }) => {
|
|
170
|
-
this.useAliveThreadsKeysChanged(); // trigger re-render on alive threads change
|
|
171
|
-
|
|
172
|
-
return Array.from(this.instances.keys()).map((threadId) => (
|
|
173
|
-
<this._OuterActiveThreadProvider
|
|
174
|
-
key={threadId}
|
|
175
|
-
threadId={threadId}
|
|
176
|
-
provider={provider}
|
|
177
|
-
/>
|
|
178
|
-
));
|
|
179
|
-
};
|
|
180
|
-
}
|
|
1
|
+
export { RemoteThreadListHookInstanceManager } from "@assistant-ui/core/react";
|