@assistant-ui/react 0.7.86 → 0.7.87

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.
Files changed (92) hide show
  1. package/dist/api/AssistantRuntime.d.ts +10 -3
  2. package/dist/api/AssistantRuntime.d.ts.map +1 -1
  3. package/dist/api/AssistantRuntime.js +8 -6
  4. package/dist/api/AssistantRuntime.js.map +1 -1
  5. package/dist/api/AssistantRuntime.mjs +8 -8
  6. package/dist/api/AssistantRuntime.mjs.map +1 -1
  7. package/dist/cloud/useCloudThreadListRuntime.d.ts +1 -1
  8. package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  9. package/dist/model-context/ModelContextTypes.d.ts +1 -1
  10. package/dist/model-context/ModelContextTypes.d.ts.map +1 -1
  11. package/dist/model-context/ModelContextTypes.js +2 -1
  12. package/dist/model-context/ModelContextTypes.js.map +1 -1
  13. package/dist/model-context/ModelContextTypes.mjs +2 -1
  14. package/dist/model-context/ModelContextTypes.mjs.map +1 -1
  15. package/dist/model-context/index.d.ts +2 -0
  16. package/dist/model-context/index.d.ts.map +1 -1
  17. package/dist/model-context/index.js +6 -0
  18. package/dist/model-context/index.js.map +1 -1
  19. package/dist/model-context/index.mjs +4 -0
  20. package/dist/model-context/index.mjs.map +1 -1
  21. package/dist/model-context/makeAssistantReadable.d.ts +6 -0
  22. package/dist/model-context/makeAssistantReadable.d.ts.map +1 -0
  23. package/dist/model-context/makeAssistantReadable.js +86 -0
  24. package/dist/model-context/makeAssistantReadable.js.map +1 -0
  25. package/dist/model-context/makeAssistantReadable.mjs +69 -0
  26. package/dist/model-context/makeAssistantReadable.mjs.map +1 -0
  27. package/dist/model-context/tool.d.ts +12 -0
  28. package/dist/model-context/tool.d.ts.map +1 -0
  29. package/dist/model-context/tool.js +33 -0
  30. package/dist/model-context/tool.js.map +1 -0
  31. package/dist/model-context/tool.mjs +8 -0
  32. package/dist/model-context/tool.mjs.map +1 -0
  33. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  34. package/dist/runtimes/core/BaseThreadRuntimeCore.js +2 -0
  35. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  36. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +2 -0
  37. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  38. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts +1 -1
  39. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.d.ts.map +1 -1
  40. package/dist/runtimes/edge/useEdgeRuntime.d.ts +1 -1
  41. package/dist/runtimes/edge/useEdgeRuntime.d.ts.map +1 -1
  42. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts +2 -1
  43. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  44. package/dist/runtimes/external-store/useExternalStoreRuntime.js +1 -5
  45. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  46. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +1 -5
  47. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  48. package/dist/runtimes/index.d.ts +1 -0
  49. package/dist/runtimes/index.d.ts.map +1 -1
  50. package/dist/runtimes/index.js +9 -0
  51. package/dist/runtimes/index.js.map +1 -1
  52. package/dist/runtimes/index.mjs +4 -0
  53. package/dist/runtimes/index.mjs.map +1 -1
  54. package/dist/runtimes/local/LocalRuntimeCore.d.ts +0 -4
  55. package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -1
  56. package/dist/runtimes/local/LocalRuntimeCore.js +2 -23
  57. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  58. package/dist/runtimes/local/LocalRuntimeCore.mjs +2 -23
  59. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  60. package/dist/runtimes/local/useLocalRuntime.d.ts +2 -6
  61. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  62. package/dist/runtimes/local/useLocalRuntime.js +2 -19
  63. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  64. package/dist/runtimes/local/useLocalRuntime.mjs +2 -21
  65. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  66. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +4 -4
  67. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +4 -4
  68. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts +2 -1
  69. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  70. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +1 -1
  71. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  72. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +1 -1
  73. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  74. package/dist/runtimes/utils/MessageRepository.d.ts +7 -2
  75. package/dist/runtimes/utils/MessageRepository.d.ts.map +1 -1
  76. package/dist/runtimes/utils/MessageRepository.js +26 -0
  77. package/dist/runtimes/utils/MessageRepository.js.map +1 -1
  78. package/dist/runtimes/utils/MessageRepository.mjs +26 -1
  79. package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
  80. package/package.json +1 -1
  81. package/src/api/AssistantRuntime.ts +15 -22
  82. package/src/model-context/ModelContextTypes.ts +4 -2
  83. package/src/model-context/index.ts +3 -0
  84. package/src/model-context/makeAssistantReadable.tsx +81 -0
  85. package/src/model-context/tool.ts +26 -0
  86. package/src/runtimes/core/BaseThreadRuntimeCore.tsx +2 -1
  87. package/src/runtimes/external-store/useExternalStoreRuntime.tsx +1 -5
  88. package/src/runtimes/index.ts +2 -0
  89. package/src/runtimes/local/LocalRuntimeCore.tsx +1 -33
  90. package/src/runtimes/local/useLocalRuntime.tsx +2 -29
  91. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +1 -1
  92. package/src/runtimes/utils/MessageRepository.tsx +33 -3
@@ -5,3 +5,5 @@ export * from "./edge";
5
5
  export * from "./external-store";
6
6
  export * from "./local";
7
7
  export * from "./remote-thread-list";
8
+
9
+ export { ExportedMessageRepository } from "./utils/MessageRepository";
@@ -1,28 +1,9 @@
1
- import type { CoreMessage } from "../../types/AssistantTypes";
2
1
  import { BaseAssistantRuntimeCore } from "../core/BaseAssistantRuntimeCore";
3
2
  import { LocalThreadRuntimeCore } from "./LocalThreadRuntimeCore";
4
3
  import { LocalRuntimeOptionsBase } from "./LocalRuntimeOptions";
5
4
  import { LocalThreadListRuntimeCore } from "./LocalThreadListRuntimeCore";
6
5
  import { ExportedMessageRepository } from "../utils/MessageRepository";
7
6
  import { ThreadMessageLike } from "../external-store";
8
- import { fromThreadMessageLike } from "../external-store/ThreadMessageLike";
9
- import { generateId } from "../../internal";
10
- import { getAutoStatus } from "../external-store/auto-status";
11
-
12
- const getExportFromInitialMessages = (
13
- initialMessages: readonly ThreadMessageLike[],
14
- ): ExportedMessageRepository => {
15
- const messages = initialMessages.map((i, idx) => {
16
- const isLast = idx === initialMessages.length - 1;
17
- return fromThreadMessageLike(i, generateId(), getAutoStatus(isLast, false));
18
- });
19
- return {
20
- messages: messages.map((m, idx) => ({
21
- parentId: messages[idx - 1]?.id ?? null,
22
- message: m,
23
- })),
24
- };
25
- };
26
7
 
27
8
  export class LocalRuntimeCore extends BaseAssistantRuntimeCore {
28
9
  public readonly threads;
@@ -45,20 +26,7 @@ export class LocalRuntimeCore extends BaseAssistantRuntimeCore {
45
26
  if (initialMessages) {
46
27
  this.threads
47
28
  .getMainThreadRuntimeCore()
48
- .import(getExportFromInitialMessages(initialMessages));
29
+ .import(ExportedMessageRepository.fromArray(initialMessages));
49
30
  }
50
31
  }
51
-
52
- public reset({
53
- initialMessages,
54
- }: {
55
- initialMessages?: readonly CoreMessage[] | undefined;
56
- } = {}) {
57
- this.threads.switchToNewThread();
58
- if (!initialMessages) return;
59
-
60
- this.threads
61
- .getMainThreadRuntimeCore()
62
- .import(getExportFromInitialMessages(initialMessages));
63
- }
64
32
  }
@@ -4,37 +4,10 @@ import { useEffect, useMemo, useState } from "react";
4
4
  import type { ChatModelAdapter } from "./ChatModelAdapter";
5
5
  import { LocalRuntimeCore } from "./LocalRuntimeCore";
6
6
  import { LocalRuntimeOptions } from "./LocalRuntimeOptions";
7
- import {
8
- AssistantRuntime,
9
- AssistantRuntimeImpl,
10
- } from "../../api/AssistantRuntime";
11
- import { ThreadRuntimeImpl } from "../../internal";
12
7
  import { useRuntimeAdapters } from "../adapters/RuntimeAdapterProvider";
13
8
  import { useRemoteThreadListRuntime } from "../remote-thread-list/useRemoteThreadListRuntime";
14
9
  import { useCloudThreadListAdapter } from "../remote-thread-list/adapter/cloud";
15
-
16
- export type LocalRuntime = AssistantRuntime & {
17
- reset: (options?: Parameters<LocalRuntimeCore["reset"]>[0]) => void;
18
- };
19
-
20
- class LocalRuntimeImpl extends AssistantRuntimeImpl implements LocalRuntime {
21
- private constructor(private core: LocalRuntimeCore) {
22
- super(core, ThreadRuntimeImpl);
23
- }
24
-
25
- public override __internal_bindMethods() {
26
- super.__internal_bindMethods();
27
- this.reset = this.reset.bind(this);
28
- }
29
-
30
- public reset(options?: Parameters<LocalRuntimeCore["reset"]>[0]) {
31
- this.core.reset(options);
32
- }
33
-
34
- public static override create(_core: LocalRuntimeCore): LocalRuntime {
35
- return new LocalRuntimeImpl(_core);
36
- }
37
- }
10
+ import { AssistantRuntimeImpl } from "../../internal";
38
11
 
39
12
  const useLocalThreadRuntime = (
40
13
  adapter: ChatModelAdapter,
@@ -65,7 +38,7 @@ const useLocalThreadRuntime = (
65
38
  return runtime.registerModelContextProvider(modelContext);
66
39
  }, [modelContext, runtime]);
67
40
 
68
- return useMemo(() => LocalRuntimeImpl.create(runtime), [runtime]);
41
+ return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);
69
42
  };
70
43
 
71
44
  export const useLocalRuntime = (
@@ -34,5 +34,5 @@ export const useRemoteThreadListRuntime = (
34
34
  runtime.threads.__internal_setOptions(options);
35
35
  runtime.threads.__internal_load();
36
36
  }, [runtime, options]);
37
- return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);
37
+ return useMemo(() => new AssistantRuntimeImpl(runtime), [runtime]);
38
38
  };
@@ -1,6 +1,9 @@
1
1
  import type { CoreMessage, ThreadMessage } from "../../types/AssistantTypes";
2
- import { generateOptimisticId } from "../../utils/idUtils";
2
+ import { generateId, generateOptimisticId } from "../../utils/idUtils";
3
3
  import { fromCoreMessage } from "../edge/converters/fromCoreMessage";
4
+ import { ThreadMessageLike } from "../external-store";
5
+ import { getAutoStatus } from "../external-store/auto-status";
6
+ import { fromThreadMessageLike } from "../external-store/ThreadMessageLike";
4
7
 
5
8
  type RepositoryParent = {
6
9
  children: string[];
@@ -18,13 +21,30 @@ export type ExportedMessageRepositoryItem = {
18
21
  parentId: string | null;
19
22
  };
20
23
 
21
- export interface ExportedMessageRepository {
24
+ export type ExportedMessageRepository = {
22
25
  headId?: string | null;
23
26
  messages: Array<{
24
27
  message: ThreadMessage;
25
28
  parentId: string | null;
26
29
  }>;
27
- }
30
+ };
31
+
32
+ export const ExportedMessageRepository = {
33
+ fromArray: (
34
+ messages: readonly ThreadMessageLike[],
35
+ ): ExportedMessageRepository => {
36
+ const conv = messages.map((m) =>
37
+ fromThreadMessageLike(m, generateId(), getAutoStatus(false, false)),
38
+ );
39
+
40
+ return {
41
+ messages: conv.map((m, idx) => ({
42
+ parentId: idx > 0 ? conv[idx - 1]!.id : null,
43
+ message: m,
44
+ })),
45
+ };
46
+ },
47
+ };
28
48
 
29
49
  const findHead = (
30
50
  message: RepositoryMessage | RepositoryParent,
@@ -287,6 +307,16 @@ export class MessageRepository {
287
307
  this._messages.dirty();
288
308
  }
289
309
 
310
+ clear(): void {
311
+ this.messages.clear();
312
+ this.head = null;
313
+ this.root = {
314
+ children: [],
315
+ next: null,
316
+ };
317
+ this._messages.dirty();
318
+ }
319
+
290
320
  export(): ExportedMessageRepository {
291
321
  const exportItems: ExportedMessageRepository["messages"] = [];
292
322