@assistant-ui/react-ink 0.0.1 → 0.0.2

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.
@@ -1,440 +1,2 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { generateId, BaseSubscribable, OptimisticState, EMPTY_THREAD_CORE, createThreadMappingId, getThreadData, updateStatusReducer, } from "@assistant-ui/core/internal";
3
- import { RemoteThreadListHookInstanceManager } from "./RemoteThreadListHookInstanceManager.js";
4
- import { Fragment, useEffect, useId, } from "react";
5
- import { create } from "zustand";
6
- import { AssistantMessageStream } from "assistant-stream";
7
- import { RuntimeAdapterProvider } from "../context/providers/RuntimeAdapterProvider.js";
8
- export class RemoteThreadListThreadListRuntimeCore extends BaseSubscribable {
9
- _options;
10
- _hookManager;
11
- _loadThreadsPromise;
12
- _mainThreadId;
13
- _state = new OptimisticState({
14
- isLoading: false,
15
- newThreadId: undefined,
16
- threadIds: [],
17
- archivedThreadIds: [],
18
- threadIdMap: {},
19
- threadData: {},
20
- });
21
- get threadItems() {
22
- return this._state.value.threadData;
23
- }
24
- getLoadThreadsPromise() {
25
- if (!this._loadThreadsPromise) {
26
- this._loadThreadsPromise = this._state
27
- .optimisticUpdate({
28
- execute: () => this._options.adapter.list(),
29
- loading: (state) => {
30
- return {
31
- ...state,
32
- isLoading: true,
33
- };
34
- },
35
- then: (state, l) => {
36
- const newThreadIds = [];
37
- const newArchivedThreadIds = [];
38
- const newThreadIdMap = {};
39
- const newThreadData = {};
40
- for (const thread of l.threads) {
41
- switch (thread.status) {
42
- case "regular":
43
- newThreadIds.push(thread.remoteId);
44
- break;
45
- case "archived":
46
- newArchivedThreadIds.push(thread.remoteId);
47
- break;
48
- default: {
49
- const _exhaustiveCheck = thread.status;
50
- throw new Error(`Unsupported state: ${_exhaustiveCheck}`);
51
- }
52
- }
53
- const mappingId = createThreadMappingId(thread.remoteId);
54
- newThreadIdMap[thread.remoteId] = mappingId;
55
- newThreadData[mappingId] = {
56
- id: thread.remoteId,
57
- remoteId: thread.remoteId,
58
- externalId: thread.externalId,
59
- status: thread.status,
60
- title: thread.title,
61
- initializeTask: Promise.resolve({
62
- remoteId: thread.remoteId,
63
- externalId: thread.externalId,
64
- }),
65
- };
66
- }
67
- return {
68
- ...state,
69
- threadIds: newThreadIds,
70
- archivedThreadIds: newArchivedThreadIds,
71
- threadIdMap: {
72
- ...state.threadIdMap,
73
- ...newThreadIdMap,
74
- },
75
- threadData: {
76
- ...state.threadData,
77
- ...newThreadData,
78
- },
79
- };
80
- },
81
- })
82
- .then(() => { });
83
- }
84
- return this._loadThreadsPromise;
85
- }
86
- contextProvider;
87
- constructor(options, contextProvider) {
88
- super();
89
- this.contextProvider = contextProvider;
90
- this._state.subscribe(() => this._notifySubscribers());
91
- this._hookManager = new RemoteThreadListHookInstanceManager(options.runtimeHook, this);
92
- this.useProvider = create(() => ({
93
- Provider: (options.adapter.unstable_Provider ??
94
- Fragment),
95
- }));
96
- this.__internal_setOptions(options);
97
- this.switchToNewThread();
98
- }
99
- useProvider;
100
- __internal_setOptions(options) {
101
- if (this._options === options)
102
- return;
103
- this._options = options;
104
- const Provider = (options.adapter.unstable_Provider ??
105
- Fragment);
106
- if (Provider !== this.useProvider.getState().Provider) {
107
- this.useProvider.setState({ Provider }, true);
108
- }
109
- this._hookManager.setRuntimeHook(options.runtimeHook);
110
- }
111
- __internal_load() {
112
- this.getLoadThreadsPromise(); // begin loading on initial bind
113
- }
114
- get isLoading() {
115
- return this._state.value.isLoading;
116
- }
117
- get threadIds() {
118
- return this._state.value.threadIds;
119
- }
120
- get archivedThreadIds() {
121
- return this._state.value.archivedThreadIds;
122
- }
123
- get newThreadId() {
124
- return this._state.value.newThreadId;
125
- }
126
- get mainThreadId() {
127
- return this._mainThreadId;
128
- }
129
- getMainThreadRuntimeCore() {
130
- const result = this._hookManager.getThreadRuntimeCore(this._mainThreadId);
131
- if (!result)
132
- return EMPTY_THREAD_CORE;
133
- return result;
134
- }
135
- getThreadRuntimeCore(threadIdOrRemoteId) {
136
- const data = this.getItemById(threadIdOrRemoteId);
137
- if (!data)
138
- throw new Error("Thread not found");
139
- const result = this._hookManager.getThreadRuntimeCore(data.id);
140
- if (!result)
141
- throw new Error("Thread not found");
142
- return result;
143
- }
144
- getItemById(threadIdOrRemoteId) {
145
- return getThreadData(this._state.value, threadIdOrRemoteId);
146
- }
147
- async switchToThread(threadIdOrRemoteId) {
148
- let data = this.getItemById(threadIdOrRemoteId);
149
- if (!data) {
150
- const remoteMetadata = await this._options.adapter.fetch(threadIdOrRemoteId);
151
- const state = this._state.value;
152
- const mappingId = createThreadMappingId(remoteMetadata.remoteId);
153
- const newThreadData = {
154
- ...state.threadData,
155
- [mappingId]: {
156
- id: mappingId,
157
- initializeTask: Promise.resolve({
158
- remoteId: remoteMetadata.remoteId,
159
- externalId: remoteMetadata.externalId,
160
- }),
161
- remoteId: remoteMetadata.remoteId,
162
- externalId: remoteMetadata.externalId,
163
- status: remoteMetadata.status,
164
- title: remoteMetadata.title,
165
- },
166
- };
167
- const newThreadIdMap = {
168
- ...state.threadIdMap,
169
- [remoteMetadata.remoteId]: mappingId,
170
- };
171
- const newThreadIds = remoteMetadata.status === "regular"
172
- ? [...state.threadIds, remoteMetadata.remoteId]
173
- : state.threadIds;
174
- const newArchivedThreadIds = remoteMetadata.status === "archived"
175
- ? [...state.archivedThreadIds, remoteMetadata.remoteId]
176
- : state.archivedThreadIds;
177
- this._state.update({
178
- ...state,
179
- threadIds: newThreadIds,
180
- archivedThreadIds: newArchivedThreadIds,
181
- threadIdMap: newThreadIdMap,
182
- threadData: newThreadData,
183
- });
184
- data = this.getItemById(threadIdOrRemoteId);
185
- }
186
- if (!data)
187
- throw new Error("Thread not found");
188
- if (this._mainThreadId === data.id)
189
- return;
190
- const task = this._hookManager.startThreadRuntime(data.id);
191
- if (this.mainThreadId !== undefined) {
192
- await task;
193
- }
194
- else {
195
- task.then(() => this._notifySubscribers());
196
- }
197
- if (data.status === "archived")
198
- await this.unarchive(data.id);
199
- this._mainThreadId = data.id;
200
- this._notifySubscribers();
201
- }
202
- async switchToNewThread() {
203
- // an initialization transaction is in progress, wait for it to settle
204
- while (this._state.baseValue.newThreadId !== undefined &&
205
- this._state.value.newThreadId === undefined) {
206
- await this._state.waitForUpdate();
207
- }
208
- const state = this._state.value;
209
- let id = this._state.value.newThreadId;
210
- if (id === undefined) {
211
- do {
212
- id = `__LOCALID_${generateId()}`;
213
- } while (state.threadIdMap[id]);
214
- const mappingId = createThreadMappingId(id);
215
- this._state.update({
216
- ...state,
217
- newThreadId: id,
218
- threadIdMap: {
219
- ...state.threadIdMap,
220
- [id]: mappingId,
221
- },
222
- threadData: {
223
- ...state.threadData,
224
- [mappingId]: {
225
- status: "new",
226
- id,
227
- remoteId: undefined,
228
- externalId: undefined,
229
- title: undefined,
230
- },
231
- },
232
- });
233
- }
234
- return this.switchToThread(id);
235
- }
236
- initialize = async (threadId) => {
237
- if (this._state.value.newThreadId !== threadId) {
238
- const data = this.getItemById(threadId);
239
- if (!data)
240
- throw new Error("Thread not found");
241
- if (data.status === "new")
242
- throw new Error("Unexpected new state");
243
- return data.initializeTask;
244
- }
245
- return this._state.optimisticUpdate({
246
- execute: () => {
247
- return this._options.adapter.initialize(threadId);
248
- },
249
- optimistic: (state) => {
250
- return updateStatusReducer(state, threadId, "regular");
251
- },
252
- loading: (state, task) => {
253
- const mappingId = createThreadMappingId(threadId);
254
- return {
255
- ...state,
256
- threadData: {
257
- ...state.threadData,
258
- [mappingId]: {
259
- ...state.threadData[mappingId],
260
- initializeTask: task,
261
- },
262
- },
263
- };
264
- },
265
- then: (state, { remoteId, externalId }) => {
266
- const data = getThreadData(state, threadId);
267
- if (!data)
268
- return state;
269
- const mappingId = createThreadMappingId(threadId);
270
- return {
271
- ...state,
272
- threadIdMap: {
273
- ...state.threadIdMap,
274
- [remoteId]: mappingId,
275
- },
276
- threadData: {
277
- ...state.threadData,
278
- [mappingId]: {
279
- ...data,
280
- initializeTask: Promise.resolve({ remoteId, externalId }),
281
- remoteId,
282
- externalId,
283
- },
284
- },
285
- };
286
- },
287
- });
288
- };
289
- generateTitle = async (threadId) => {
290
- const data = this.getItemById(threadId);
291
- if (!data)
292
- throw new Error("Thread not found");
293
- if (data.status === "new")
294
- throw new Error("Thread is not yet initialized");
295
- const { remoteId } = await data.initializeTask;
296
- const runtimeCore = this._hookManager.getThreadRuntimeCore(data.id);
297
- if (!runtimeCore)
298
- return; // thread is no longer running
299
- const messages = runtimeCore.messages;
300
- const stream = await this._options.adapter.generateTitle(remoteId, messages);
301
- const messageStream = AssistantMessageStream.fromAssistantStream(stream);
302
- for await (const result of messageStream) {
303
- const textPart = result.parts.find((c) => c.type === "text");
304
- const newTitle = textPart && "text" in textPart ? textPart.text : undefined;
305
- const state = this._state.baseValue;
306
- const currentData = getThreadData(state, data.id);
307
- if (!currentData)
308
- continue;
309
- this._state.update({
310
- ...state,
311
- threadData: {
312
- ...state.threadData,
313
- [data.id]: {
314
- ...currentData,
315
- title: newTitle,
316
- },
317
- },
318
- });
319
- }
320
- };
321
- rename(threadIdOrRemoteId, newTitle) {
322
- const data = this.getItemById(threadIdOrRemoteId);
323
- if (!data)
324
- throw new Error("Thread not found");
325
- if (data.status === "new")
326
- throw new Error("Thread is not yet initialized");
327
- return this._state.optimisticUpdate({
328
- execute: async () => {
329
- const { remoteId } = await data.initializeTask;
330
- return this._options.adapter.rename(remoteId, newTitle);
331
- },
332
- optimistic: (state) => {
333
- const data = getThreadData(state, threadIdOrRemoteId);
334
- if (!data)
335
- return state;
336
- return {
337
- ...state,
338
- threadData: {
339
- ...state.threadData,
340
- [data.id]: {
341
- ...data,
342
- title: newTitle,
343
- },
344
- },
345
- };
346
- },
347
- });
348
- }
349
- async _ensureThreadIsNotMain(threadId) {
350
- if (threadId === this.newThreadId)
351
- throw new Error("Cannot ensure new thread is not main");
352
- if (threadId === this._mainThreadId) {
353
- await this.switchToNewThread();
354
- }
355
- }
356
- async archive(threadIdOrRemoteId) {
357
- const data = this.getItemById(threadIdOrRemoteId);
358
- if (!data)
359
- throw new Error("Thread not found");
360
- if (data.status !== "regular")
361
- throw new Error("Thread is not yet initialized or already archived");
362
- await this._ensureThreadIsNotMain(data.id);
363
- return this._state.optimisticUpdate({
364
- execute: async () => {
365
- const { remoteId } = await data.initializeTask;
366
- return this._options.adapter.archive(remoteId);
367
- },
368
- optimistic: (state) => {
369
- return updateStatusReducer(state, data.id, "archived");
370
- },
371
- });
372
- }
373
- unarchive(threadIdOrRemoteId) {
374
- const data = this.getItemById(threadIdOrRemoteId);
375
- if (!data)
376
- throw new Error("Thread not found");
377
- if (data.status !== "archived")
378
- throw new Error("Thread is not archived");
379
- return this._state.optimisticUpdate({
380
- execute: async () => {
381
- try {
382
- const { remoteId } = await data.initializeTask;
383
- return await this._options.adapter.unarchive(remoteId);
384
- }
385
- catch (error) {
386
- await this._ensureThreadIsNotMain(data.id);
387
- throw error;
388
- }
389
- },
390
- optimistic: (state) => {
391
- return updateStatusReducer(state, data.id, "regular");
392
- },
393
- });
394
- }
395
- async delete(threadIdOrRemoteId) {
396
- const data = this.getItemById(threadIdOrRemoteId);
397
- if (!data)
398
- throw new Error("Thread not found");
399
- if (data.status !== "regular" && data.status !== "archived")
400
- throw new Error("Thread is not yet initialized");
401
- await this._ensureThreadIsNotMain(data.id);
402
- return this._state.optimisticUpdate({
403
- execute: async () => {
404
- const { remoteId } = await data.initializeTask;
405
- return await this._options.adapter.delete(remoteId);
406
- },
407
- optimistic: (state) => {
408
- return updateStatusReducer(state, data.id, "deleted");
409
- },
410
- });
411
- }
412
- async detach(threadIdOrRemoteId) {
413
- const data = this.getItemById(threadIdOrRemoteId);
414
- if (!data)
415
- throw new Error("Thread not found");
416
- if (data.status !== "regular" && data.status !== "archived")
417
- throw new Error("Thread is not yet initialized");
418
- await this._ensureThreadIsNotMain(data.id);
419
- this._hookManager.stopThreadRuntime(data.id);
420
- }
421
- useBoundIds = create(() => []);
422
- __internal_RenderComponent = () => {
423
- const id = useId();
424
- useEffect(() => {
425
- this.useBoundIds.setState((s) => [...s, id], true);
426
- return () => {
427
- this.useBoundIds.setState((s) => s.filter((i) => i !== id), true);
428
- };
429
- }, [id]);
430
- const boundIds = this.useBoundIds();
431
- const { Provider } = this.useProvider();
432
- const adapters = {
433
- modelContext: this.contextProvider,
434
- };
435
- return ((boundIds.length === 0 || boundIds[0] === id) && (
436
- // only render if the component is the first one mounted
437
- _jsx(RuntimeAdapterProvider, { adapters: adapters, children: _jsx(this._hookManager.__internal_RenderThreadRuntimes, { provider: Provider }) })));
438
- };
439
- }
1
+ export { RemoteThreadListThreadListRuntimeCore } from "@assistant-ui/core/react";
440
2
  //# sourceMappingURL=RemoteThreadListThreadListRuntimeCore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteThreadListThreadListRuntimeCore.js","sourceRoot":"","sources":["../../src/runtimes/RemoteThreadListThreadListRuntimeCore.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteThreadListThreadListRuntimeCore.js","sourceRoot":"","sources":["../../src/runtimes/RemoteThreadListThreadListRuntimeCore.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,4 +1,2 @@
1
- import { type RemoteThreadListOptions } from "@assistant-ui/core/internal";
2
- import type { AssistantRuntime } from "@assistant-ui/core";
3
- export declare const useRemoteThreadListRuntime: (options: RemoteThreadListOptions) => AssistantRuntime;
1
+ export { useRemoteThreadListRuntime } from "@assistant-ui/core/react";
4
2
  //# sourceMappingURL=useRemoteThreadListRuntime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRemoteThreadListRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/useRemoteThreadListRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAkC5B,eAAO,MAAM,0BAA0B,GACrC,SAAS,uBAAuB,KAC/B,gBAkCF,CAAC"}
1
+ {"version":3,"file":"useRemoteThreadListRuntime.d.ts","sourceRoot":"","sources":["../../src/runtimes/useRemoteThreadListRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,47 +1,2 @@
1
- import { useState, useEffect, useMemo, useRef, useCallback } from "react";
2
- import { BaseAssistantRuntimeCore, AssistantRuntimeImpl, } from "@assistant-ui/core/internal";
3
- import { RemoteThreadListThreadListRuntimeCore } from "./RemoteThreadListThreadListRuntimeCore.js";
4
- import { useAui } from "@assistant-ui/store";
5
- class RemoteThreadListRuntimeCore extends BaseAssistantRuntimeCore {
6
- threads;
7
- constructor(options) {
8
- super();
9
- this.threads = new RemoteThreadListThreadListRuntimeCore(options, this._contextProvider);
10
- }
11
- get RenderComponent() {
12
- return this.threads.__internal_RenderComponent;
13
- }
14
- }
15
- const useRemoteThreadListRuntimeImpl = (options) => {
16
- const [runtime] = useState(() => new RemoteThreadListRuntimeCore(options));
17
- useEffect(() => {
18
- runtime.threads.__internal_setOptions(options);
19
- runtime.threads.__internal_load();
20
- }, [runtime, options]);
21
- return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);
22
- };
23
- export const useRemoteThreadListRuntime = (options) => {
24
- const runtimeHookRef = useRef(options.runtimeHook);
25
- runtimeHookRef.current = options.runtimeHook;
26
- const stableRuntimeHook = useCallback(() => {
27
- return runtimeHookRef.current();
28
- }, []);
29
- const stableOptions = useMemo(() => ({
30
- adapter: options.adapter,
31
- allowNesting: options.allowNesting,
32
- runtimeHook: stableRuntimeHook,
33
- }), [options.adapter, options.allowNesting, stableRuntimeHook]);
34
- const aui = useAui();
35
- const isNested = aui.threadListItem.source !== null;
36
- if (isNested) {
37
- if (!stableOptions.allowNesting) {
38
- throw new Error("useRemoteThreadListRuntime cannot be nested inside another RemoteThreadListRuntime. " +
39
- "Set allowNesting: true to allow nesting (the inner runtime will become a no-op).");
40
- }
41
- // If allowNesting is true and already inside a thread list context,
42
- // just call the runtimeHook directly (no-op behavior)
43
- return stableRuntimeHook();
44
- }
45
- return useRemoteThreadListRuntimeImpl(stableOptions);
46
- };
1
+ export { useRemoteThreadListRuntime } from "@assistant-ui/core/react";
47
2
  //# sourceMappingURL=useRemoteThreadListRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRemoteThreadListRuntime.js","sourceRoot":"","sources":["../../src/runtimes/useRemoteThreadListRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EACL,wBAAwB,EACxB,oBAAoB,GAErB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,qCAAqC,EAAE,mDAAgD;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,2BACJ,SAAQ,wBAAwB;IAGhB,OAAO,CAAC;IAExB,YAAY,OAAgC;QAC1C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,qCAAqC,CACtD,OAAO,EACP,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC;IACjD,CAAC;CACF;AAED,MAAM,8BAA8B,GAAG,CACrC,OAAgC,EACd,EAAE;IACpB,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACvB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,OAAgC,EACd,EAAE;IACpB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAE7C,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,cAAc,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,iBAAiB;KAC/B,CAAC,EACF,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAC3D,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC;IAEpD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,sFAAsF;gBACpF,kFAAkF,CACrF,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,sDAAsD;QACtD,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,8BAA8B,CAAC,aAAa,CAAC,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"useRemoteThreadListRuntime.js","sourceRoot":"","sources":["../../src/runtimes/useRemoteThreadListRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/react-ink",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "React Ink (terminal UI) bindings for assistant-ui",
5
5
  "keywords": [
6
6
  "assistant",
@@ -33,13 +33,8 @@
33
33
  "README.md"
34
34
  ],
35
35
  "sideEffects": false,
36
- "scripts": {
37
- "build": "aui-build",
38
- "test": "vitest run",
39
- "test:watch": "vitest"
40
- },
41
36
  "dependencies": {
42
- "@assistant-ui/core": "^0.1.2",
37
+ "@assistant-ui/core": "^0.1.3",
43
38
  "@assistant-ui/store": "^0.2.2",
44
39
  "@assistant-ui/tap": "^0.5.2",
45
40
  "assistant-stream": "^0.3.4",
@@ -56,11 +51,11 @@
56
51
  }
57
52
  },
58
53
  "devDependencies": {
59
- "@assistant-ui/x-buildutils": "workspace:*",
60
54
  "@types/react": "^19.2.14",
61
55
  "ink": "^5.2.0",
62
56
  "react": "18.3.1",
63
- "vitest": "^4.0.18"
57
+ "vitest": "^4.0.18",
58
+ "@assistant-ui/x-buildutils": "0.0.2"
64
59
  },
65
60
  "publishConfig": {
66
61
  "access": "public",
@@ -74,5 +69,10 @@
74
69
  },
75
70
  "bugs": {
76
71
  "url": "https://github.com/assistant-ui/assistant-ui/issues"
72
+ },
73
+ "scripts": {
74
+ "build": "aui-build",
75
+ "test": "vitest run",
76
+ "test:watch": "vitest"
77
77
  }
78
- }
78
+ }