@assistant-ui/react 0.7.62 → 0.7.64

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts +3 -1
  2. package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -1
  3. package/dist/runtimes/adapters/RuntimeAdapterProvider.js +11 -1
  4. package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -1
  5. package/dist/runtimes/adapters/RuntimeAdapterProvider.mjs +11 -1
  6. package/dist/runtimes/adapters/RuntimeAdapterProvider.mjs.map +1 -1
  7. package/dist/runtimes/external-store/createMessageConverter.d.ts +3 -0
  8. package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -0
  9. package/dist/runtimes/external-store/createMessageConverter.js +72 -0
  10. package/dist/runtimes/external-store/createMessageConverter.js.map +1 -0
  11. package/dist/runtimes/external-store/createMessageConverter.mjs +51 -0
  12. package/dist/runtimes/external-store/createMessageConverter.mjs.map +1 -0
  13. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
  14. package/dist/runtimes/external-store/external-message-converter.js +3 -1
  15. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  16. package/dist/runtimes/external-store/external-message-converter.mjs +3 -1
  17. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  18. package/dist/runtimes/external-store/getExternalStoreMessage.d.ts +3 -8
  19. package/dist/runtimes/external-store/getExternalStoreMessage.d.ts.map +1 -1
  20. package/dist/runtimes/external-store/getExternalStoreMessage.js +11 -6
  21. package/dist/runtimes/external-store/getExternalStoreMessage.js.map +1 -1
  22. package/dist/runtimes/external-store/getExternalStoreMessage.mjs +11 -6
  23. package/dist/runtimes/external-store/getExternalStoreMessage.mjs.map +1 -1
  24. package/dist/runtimes/external-store/index.d.ts +1 -0
  25. package/dist/runtimes/external-store/index.d.ts.map +1 -1
  26. package/dist/runtimes/external-store/index.js +3 -0
  27. package/dist/runtimes/external-store/index.js.map +1 -1
  28. package/dist/runtimes/external-store/index.mjs +2 -0
  29. package/dist/runtimes/external-store/index.mjs.map +1 -1
  30. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -1
  31. package/dist/runtimes/external-store/useExternalStoreRuntime.js +6 -0
  32. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  33. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +6 -0
  34. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  35. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -1
  36. package/dist/runtimes/local/useLocalRuntime.js +5 -1
  37. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  38. package/dist/runtimes/local/useLocalRuntime.mjs +5 -1
  39. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  40. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +3 -1
  41. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  42. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +21 -18
  43. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  44. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs +19 -14
  45. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.mjs.map +1 -1
  46. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -1
  47. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +4 -1
  48. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  49. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs +4 -1
  50. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.mjs.map +1 -1
  51. package/dist/ui/index.d.ts +60 -1
  52. package/dist/ui/index.d.ts.map +1 -1
  53. package/dist/ui/index.js +2 -1
  54. package/dist/ui/index.js.map +1 -1
  55. package/dist/ui/index.mjs +2 -4
  56. package/dist/ui/index.mjs.map +1 -1
  57. package/package.json +1 -1
  58. package/src/runtimes/adapters/RuntimeAdapterProvider.tsx +10 -2
  59. package/src/runtimes/external-store/createMessageConverter.tsx +55 -0
  60. package/src/runtimes/external-store/external-message-converter.tsx +7 -1
  61. package/src/runtimes/external-store/getExternalStoreMessage.tsx +19 -14
  62. package/src/runtimes/external-store/index.ts +1 -0
  63. package/src/runtimes/external-store/useExternalStoreRuntime.tsx +8 -0
  64. package/src/runtimes/local/useLocalRuntime.tsx +6 -1
  65. package/src/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.tsx +15 -4
  66. package/src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx +4 -1
  67. package/src/ui/index.ts +68 -11
@@ -9,7 +9,10 @@ var RemoteThreadListRuntimeCore = class extends BaseAssistantRuntimeCore {
9
9
  threads;
10
10
  constructor(adapter) {
11
11
  super();
12
- this.threads = new RemoteThreadListThreadListRuntimeCore(adapter);
12
+ this.threads = new RemoteThreadListThreadListRuntimeCore(
13
+ adapter,
14
+ this._contextProvider
15
+ );
13
16
  }
14
17
  get RenderComponent() {
15
18
  return this.threads.__internal_RenderComponent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useMemo } from \"react\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { RemoteThreadListThreadListRuntimeCore } from \"./RemoteThreadListThreadListRuntimeCore\";\nimport { RemoteThreadListAdapter } from \"./types\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\nimport { AssistantRuntimeCore } from \"../core/AssistantRuntimeCore\";\n\nclass RemoteThreadListRuntimeCore\n extends BaseAssistantRuntimeCore\n implements AssistantRuntimeCore\n{\n public readonly threads;\n\n constructor(adapter: RemoteThreadListAdapter) {\n super();\n this.threads = new RemoteThreadListThreadListRuntimeCore(adapter);\n }\n\n public get RenderComponent() {\n return this.threads.__internal_RenderComponent;\n }\n}\n\nexport const useRemoteThreadListRuntime = (\n adapter: RemoteThreadListAdapter,\n) => {\n const [runtime] = useState(() => new RemoteThreadListRuntimeCore(adapter));\n useEffect(() => {\n runtime.threads.__internal_setAdapter(adapter);\n return runtime.threads.__internal_bindAdapter();\n }, [runtime, adapter]);\n return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);\n};\n"],"mappings":";;;AAEA,SAAS,UAAU,WAAW,eAAe;AAC7C,SAAS,gCAAgC;AACzC,SAAS,6CAA6C;AAEtD,SAAS,4BAA4B;AAGrC,IAAM,8BAAN,cACU,yBAEV;AAAA,EACkB;AAAA,EAEhB,YAAY,SAAkC;AAC5C,UAAM;AACN,SAAK,UAAU,IAAI,sCAAsC,OAAO;AAAA,EAClE;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ;AAAA,EACtB;AACF;AAEO,IAAM,6BAA6B,CACxC,YACG;AACH,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,4BAA4B,OAAO,CAAC;AACzE,YAAU,MAAM;AACd,YAAQ,QAAQ,sBAAsB,OAAO;AAC7C,WAAO,QAAQ,QAAQ,uBAAuB;AAAA,EAChD,GAAG,CAAC,SAAS,OAAO,CAAC;AACrB,SAAO,QAAQ,MAAM,qBAAqB,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC;AACtE;","names":[]}
1
+ {"version":3,"sources":["../../../src/runtimes/remote-thread-list/useRemoteThreadListRuntime.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState, useEffect, useMemo } from \"react\";\nimport { BaseAssistantRuntimeCore } from \"../core/BaseAssistantRuntimeCore\";\nimport { RemoteThreadListThreadListRuntimeCore } from \"./RemoteThreadListThreadListRuntimeCore\";\nimport { RemoteThreadListAdapter } from \"./types\";\nimport { AssistantRuntimeImpl } from \"../../internal\";\nimport { AssistantRuntimeCore } from \"../core/AssistantRuntimeCore\";\n\nclass RemoteThreadListRuntimeCore\n extends BaseAssistantRuntimeCore\n implements AssistantRuntimeCore\n{\n public readonly threads;\n\n constructor(adapter: RemoteThreadListAdapter) {\n super();\n this.threads = new RemoteThreadListThreadListRuntimeCore(\n adapter,\n this._contextProvider,\n );\n }\n\n public get RenderComponent() {\n return this.threads.__internal_RenderComponent;\n }\n}\n\nexport const useRemoteThreadListRuntime = (\n adapter: RemoteThreadListAdapter,\n) => {\n const [runtime] = useState(() => new RemoteThreadListRuntimeCore(adapter));\n useEffect(() => {\n runtime.threads.__internal_setAdapter(adapter);\n return runtime.threads.__internal_bindAdapter();\n }, [runtime, adapter]);\n return useMemo(() => AssistantRuntimeImpl.create(runtime), [runtime]);\n};\n"],"mappings":";;;AAEA,SAAS,UAAU,WAAW,eAAe;AAC7C,SAAS,gCAAgC;AACzC,SAAS,6CAA6C;AAEtD,SAAS,4BAA4B;AAGrC,IAAM,8BAAN,cACU,yBAEV;AAAA,EACkB;AAAA,EAEhB,YAAY,SAAkC;AAC5C,UAAM;AACN,SAAK,UAAU,IAAI;AAAA,MACjB;AAAA,MACA,KAAK;AAAA,IACP;AAAA,EACF;AAAA,EAEA,IAAW,kBAAkB;AAC3B,WAAO,KAAK,QAAQ;AAAA,EACtB;AACF;AAEO,IAAM,6BAA6B,CACxC,YACG;AACH,QAAM,CAAC,OAAO,IAAI,SAAS,MAAM,IAAI,4BAA4B,OAAO,CAAC;AACzE,YAAU,MAAM;AACd,YAAQ,QAAQ,sBAAsB,OAAO;AAC7C,WAAO,QAAQ,QAAQ,uBAAuB;AAAA,EAChD,GAAG,CAAC,SAAS,OAAO,CAAC;AACrB,SAAO,QAAQ,MAAM,qBAAqB,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC;AACtE;","names":[]}
@@ -1,16 +1,75 @@
1
- export { ThreadConfigProvider, useThreadConfig, type ThreadConfig, type ThreadWelcomeConfig, type UserMessageConfig, type AssistantMessageConfig, type StringsConfig, type SuggestionConfig, type ThreadConfigProviderProps, } from "./thread-config";
1
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
2
+ export { ThreadConfigProvider } from "./thread-config";
3
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
4
+ export { useThreadConfig } from "./thread-config";
5
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
6
+ export type { ThreadConfig } from "./thread-config";
7
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
8
+ export type { ThreadWelcomeConfig } from "./thread-config";
9
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
10
+ export type { UserMessageConfig } from "./thread-config";
11
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
12
+ export type { AssistantMessageConfig } from "./thread-config";
13
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
14
+ export type { StringsConfig } from "./thread-config";
15
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
16
+ export type { SuggestionConfig } from "./thread-config";
17
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
18
+ export type { ThreadConfigProviderProps } from "./thread-config";
19
+ /**
20
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
21
+ */
2
22
  export { default as AssistantActionBar } from "./assistant-action-bar";
23
+ /**
24
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
25
+ */
3
26
  export { default as AssistantMessage } from "./assistant-message";
27
+ /**
28
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
29
+ */
4
30
  export { default as AssistantModal } from "./assistant-modal";
31
+ /**
32
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
33
+ */
5
34
  export { default as BranchPicker } from "./branch-picker";
35
+ /**
36
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
37
+ */
6
38
  export { default as Composer } from "./composer";
39
+ /**
40
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
41
+ */
7
42
  export { default as ContentPart } from "./content-part";
43
+ /**
44
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
45
+ */
8
46
  export { default as AttachmentUI, } from "./attachment-ui";
47
+ /**
48
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
49
+ */
9
50
  export { default as EditComposer } from "./edit-composer";
51
+ /**
52
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
53
+ */
10
54
  export { default as Thread } from "./thread";
55
+ /**
56
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
57
+ */
11
58
  export { default as ThreadList } from "./thread-list";
59
+ /**
60
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
61
+ */
12
62
  export { default as ThreadListItem } from "./thread-list-item";
63
+ /**
64
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
65
+ */
13
66
  export { default as ThreadWelcome } from "./thread-welcome";
67
+ /**
68
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
69
+ */
14
70
  export { default as UserMessage } from "./user-message";
71
+ /**
72
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
73
+ */
15
74
  export { default as UserActionBar } from "./user-action-bar";
16
75
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,OAAO,IAAI,YAAY,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,2JAA2J;AAC3J,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,2JAA2J;AAC3J,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,2JAA2J;AAC3J,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,2JAA2J;AAC3J,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,2JAA2J;AAC3J,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,2JAA2J;AAC3J,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,2JAA2J;AAC3J,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,2JAA2J;AAC3J,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,2JAA2J;AAC3J,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEvE;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,OAAO,EACL,OAAO,IAAI,YAAY,GACxB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAE7C;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAEtD;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAExD;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/ui/index.js CHANGED
@@ -45,10 +45,11 @@ __export(ui_exports, {
45
45
  ThreadWelcome: () => import_thread_welcome.default,
46
46
  UserActionBar: () => import_user_action_bar.default,
47
47
  UserMessage: () => import_user_message.default,
48
- useThreadConfig: () => import_thread_config.useThreadConfig
48
+ useThreadConfig: () => import_thread_config2.useThreadConfig
49
49
  });
50
50
  module.exports = __toCommonJS(ui_exports);
51
51
  var import_thread_config = require("./thread-config.js");
52
+ var import_thread_config2 = require("./thread-config.js");
52
53
  var import_assistant_action_bar = __toESM(require("./assistant-action-bar.js"));
53
54
  var import_assistant_message = __toESM(require("./assistant-message.js"));
54
55
  var import_assistant_modal = __toESM(require("./assistant-modal.js"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/index.ts"],"sourcesContent":["export {\n ThreadConfigProvider,\n useThreadConfig,\n type ThreadConfig,\n type ThreadWelcomeConfig,\n type UserMessageConfig,\n type AssistantMessageConfig,\n type StringsConfig,\n type SuggestionConfig,\n type ThreadConfigProviderProps,\n} from \"./thread-config\";\n\nexport { default as AssistantActionBar } from \"./assistant-action-bar\";\n\nexport { default as AssistantMessage } from \"./assistant-message\";\n\nexport { default as AssistantModal } from \"./assistant-modal\";\n\nexport { default as BranchPicker } from \"./branch-picker\";\n\nexport { default as Composer } from \"./composer\";\n\nexport { default as ContentPart } from \"./content-part\";\n\nexport {\n default as AttachmentUI, // TODO name collision with Attachment\n} from \"./attachment-ui\";\n\nexport { default as EditComposer } from \"./edit-composer\";\n\nexport { default as Thread } from \"./thread\";\n\nexport { default as ThreadList } from \"./thread-list\";\n\nexport { default as ThreadListItem } from \"./thread-list-item\";\n\nexport { default as ThreadWelcome } from \"./thread-welcome\";\n\nexport { default as UserMessage } from \"./user-message\";\n\nexport { default as UserActionBar } from \"./user-action-bar\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAUO;AAEP,kCAA8C;AAE9C,+BAA4C;AAE5C,6BAA0C;AAE1C,2BAAwC;AAExC,sBAAoC;AAEpC,0BAAuC;AAEvC,2BAEO;AAEP,2BAAwC;AAExC,oBAAkC;AAElC,yBAAsC;AAEtC,8BAA0C;AAE1C,4BAAyC;AAEzC,0BAAuC;AAEvC,6BAAyC;","names":[]}
1
+ {"version":3,"sources":["../../src/ui/index.ts"],"sourcesContent":["/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport { ThreadConfigProvider } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport { useThreadConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { ThreadConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { ThreadWelcomeConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { UserMessageConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { AssistantMessageConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { StringsConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { SuggestionConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { ThreadConfigProviderProps } from \"./thread-config\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as AssistantActionBar } from \"./assistant-action-bar\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as AssistantMessage } from \"./assistant-message\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as AssistantModal } from \"./assistant-modal\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as BranchPicker } from \"./branch-picker\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as Composer } from \"./composer\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ContentPart } from \"./content-part\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport {\n default as AttachmentUI, // TODO name collision with Attachment\n} from \"./attachment-ui\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as EditComposer } from \"./edit-composer\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as Thread } from \"./thread\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ThreadList } from \"./thread-list\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ThreadListItem } from \"./thread-list-item\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ThreadWelcome } from \"./thread-welcome\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as UserMessage } from \"./user-message\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as UserActionBar } from \"./user-action-bar\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAAqC;AAGrC,IAAAA,wBAAgC;AA0BhC,kCAA8C;AAK9C,+BAA4C;AAK5C,6BAA0C;AAK1C,2BAAwC;AAKxC,sBAAoC;AAKpC,0BAAuC;AAKvC,2BAEO;AAKP,2BAAwC;AAKxC,oBAAkC;AAKlC,yBAAsC;AAKtC,8BAA0C;AAK1C,4BAAyC;AAKzC,0BAAuC;AAKvC,6BAAyC;","names":["import_thread_config"]}
package/dist/ui/index.mjs CHANGED
@@ -1,8 +1,6 @@
1
1
  // src/ui/index.ts
2
- import {
3
- ThreadConfigProvider,
4
- useThreadConfig
5
- } from "./thread-config.mjs";
2
+ import { ThreadConfigProvider } from "./thread-config.mjs";
3
+ import { useThreadConfig } from "./thread-config.mjs";
6
4
  import { default as default2 } from "./assistant-action-bar.mjs";
7
5
  import { default as default3 } from "./assistant-message.mjs";
8
6
  import { default as default4 } from "./assistant-modal.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/index.ts"],"sourcesContent":["export {\n ThreadConfigProvider,\n useThreadConfig,\n type ThreadConfig,\n type ThreadWelcomeConfig,\n type UserMessageConfig,\n type AssistantMessageConfig,\n type StringsConfig,\n type SuggestionConfig,\n type ThreadConfigProviderProps,\n} from \"./thread-config\";\n\nexport { default as AssistantActionBar } from \"./assistant-action-bar\";\n\nexport { default as AssistantMessage } from \"./assistant-message\";\n\nexport { default as AssistantModal } from \"./assistant-modal\";\n\nexport { default as BranchPicker } from \"./branch-picker\";\n\nexport { default as Composer } from \"./composer\";\n\nexport { default as ContentPart } from \"./content-part\";\n\nexport {\n default as AttachmentUI, // TODO name collision with Attachment\n} from \"./attachment-ui\";\n\nexport { default as EditComposer } from \"./edit-composer\";\n\nexport { default as Thread } from \"./thread\";\n\nexport { default as ThreadList } from \"./thread-list\";\n\nexport { default as ThreadListItem } from \"./thread-list-item\";\n\nexport { default as ThreadWelcome } from \"./thread-welcome\";\n\nexport { default as UserMessage } from \"./user-message\";\n\nexport { default as UserActionBar } from \"./user-action-bar\";\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAQK;AAEP,SAAoB,WAAXA,gBAAqC;AAE9C,SAAoB,WAAXA,gBAAmC;AAE5C,SAAoB,WAAXA,gBAAiC;AAE1C,SAAoB,WAAXA,gBAA+B;AAExC,SAAoB,WAAXA,gBAA2B;AAEpC,SAAoB,WAAXA,gBAA8B;AAEvC;AAAA,EACa,WAAXA;AAAA,OACK;AAEP,SAAoB,WAAXA,gBAA+B;AAExC,SAAoB,WAAXA,iBAAyB;AAElC,SAAoB,WAAXA,iBAA6B;AAEtC,SAAoB,WAAXA,iBAAiC;AAE1C,SAAoB,WAAXA,iBAAgC;AAEzC,SAAoB,WAAXA,iBAA8B;AAEvC,SAAoB,WAAXA,iBAAgC;","names":["default"]}
1
+ {"version":3,"sources":["../../src/ui/index.ts"],"sourcesContent":["/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport { ThreadConfigProvider } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport { useThreadConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { ThreadConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { ThreadWelcomeConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { UserMessageConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { AssistantMessageConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { StringsConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { SuggestionConfig } from \"./thread-config\";\n\n/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */\nexport type { ThreadConfigProviderProps } from \"./thread-config\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as AssistantActionBar } from \"./assistant-action-bar\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as AssistantMessage } from \"./assistant-message\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as AssistantModal } from \"./assistant-modal\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as BranchPicker } from \"./branch-picker\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as Composer } from \"./composer\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ContentPart } from \"./content-part\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport {\n default as AttachmentUI, // TODO name collision with Attachment\n} from \"./attachment-ui\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as EditComposer } from \"./edit-composer\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as Thread } from \"./thread\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ThreadList } from \"./thread-list\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ThreadListItem } from \"./thread-list-item\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as ThreadWelcome } from \"./thread-welcome\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as UserMessage } from \"./user-message\";\n\n/**\n * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.\n */\nexport { default as UserActionBar } from \"./user-action-bar\";\n"],"mappings":";AACA,SAAS,4BAA4B;AAGrC,SAAS,uBAAuB;AA0BhC,SAAoB,WAAXA,gBAAqC;AAK9C,SAAoB,WAAXA,gBAAmC;AAK5C,SAAoB,WAAXA,gBAAiC;AAK1C,SAAoB,WAAXA,gBAA+B;AAKxC,SAAoB,WAAXA,gBAA2B;AAKpC,SAAoB,WAAXA,gBAA8B;AAKvC;AAAA,EACa,WAAXA;AAAA,OACK;AAKP,SAAoB,WAAXA,gBAA+B;AAKxC,SAAoB,WAAXA,iBAAyB;AAKlC,SAAoB,WAAXA,iBAA6B;AAKtC,SAAoB,WAAXA,iBAAiC;AAK1C,SAAoB,WAAXA,iBAAgC;AAKzC,SAAoB,WAAXA,iBAA8B;AAKvC,SAAoB,WAAXA,iBAAgC;","names":["default"]}
package/package.json CHANGED
@@ -29,7 +29,7 @@
29
29
  "conversational-ui",
30
30
  "conversational-ai"
31
31
  ],
32
- "version": "0.7.62",
32
+ "version": "0.7.64",
33
33
  "license": "MIT",
34
34
  "exports": {
35
35
  ".": {
@@ -1,8 +1,10 @@
1
1
  import { createContext, FC, useContext } from "react";
2
2
  import { ThreadHistoryAdapter } from "./thread-history/ThreadHistoryAdapter";
3
+ import { ModelContextProvider } from "../../model-context";
3
4
 
4
5
  export type RuntimeAdapters = {
5
- history: ThreadHistoryAdapter;
6
+ modelContext?: ModelContextProvider;
7
+ history?: ThreadHistoryAdapter;
6
8
  };
7
9
 
8
10
  const RuntimeAdaptersContext = createContext<RuntimeAdapters | null>(null);
@@ -18,8 +20,14 @@ export const RuntimeAdapterProvider: FC<RuntimeAdapterProvider.Props> = ({
18
20
  adapters,
19
21
  children,
20
22
  }) => {
23
+ const context = useContext(RuntimeAdaptersContext);
21
24
  return (
22
- <RuntimeAdaptersContext.Provider value={adapters}>
25
+ <RuntimeAdaptersContext.Provider
26
+ value={{
27
+ ...context,
28
+ ...adapters,
29
+ }}
30
+ >
23
31
  {children}
24
32
  </RuntimeAdaptersContext.Provider>
25
33
  );
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { ThreadState } from "../../api";
3
+ import { useContentPart, useMessage } from "../../context";
4
+ import { ThreadMessage } from "../../types";
5
+ import {
6
+ useExternalMessageConverter,
7
+ convertExternalMessages,
8
+ } from "./external-message-converter";
9
+ import { getExternalStoreMessages } from "./getExternalStoreMessage";
10
+
11
+ export const createMessageConverter = <T extends object>(
12
+ callback: useExternalMessageConverter.Callback<T>,
13
+ ) => {
14
+ const result = {
15
+ useThreadMessages: (messages: T[], isRunning: boolean) => {
16
+ return useExternalMessageConverter<T>({
17
+ callback,
18
+ messages,
19
+ isRunning,
20
+ });
21
+ },
22
+ toThreadMessages: (messages: T[]) => {
23
+ return convertExternalMessages(messages, callback, false); // TODO figure out isRunning
24
+ },
25
+ toOriginalMessages: (
26
+ input: ThreadState | ThreadMessage | ThreadMessage["content"][number],
27
+ ) => {
28
+ const messages = getExternalStoreMessages(input);
29
+ if (messages.length === 0) throw new Error("No original messages found");
30
+ return messages;
31
+ },
32
+ toOriginalMessage: (
33
+ input: ThreadState | ThreadMessage | ThreadMessage["content"][number],
34
+ ) => {
35
+ const messages = result.toOriginalMessages(input);
36
+ return messages[0]!;
37
+ },
38
+ useOriginalMessage: () => {
39
+ const messageMessages = result.useOriginalMessages();
40
+ const first = messageMessages[0]!;
41
+ return first;
42
+ },
43
+ useOriginalMessages: () => {
44
+ const contentPartMessages = useContentPart<T[]>({
45
+ optional: true,
46
+ selector: getExternalStoreMessages,
47
+ });
48
+
49
+ const messageMessages = useMessage<T[]>(getExternalStoreMessages);
50
+ const messages = contentPartMessages ?? messageMessages;
51
+ if (messages.length === 0) throw new Error("No original messages found");
52
+ return messages;
53
+ },
54
+ };
55
+ };
@@ -256,7 +256,7 @@ export const useExternalMessageConverter = <T extends WeakKey>({
256
256
  return m;
257
257
  });
258
258
 
259
- return state.converterCache.convertMessages(
259
+ const threadMessages = state.converterCache.convertMessages(
260
260
  chunks,
261
261
  (cache, message, idx) => {
262
262
  const isLast = idx === chunks.length - 1;
@@ -283,6 +283,12 @@ export const useExternalMessageConverter = <T extends WeakKey>({
283
283
  return newMessage;
284
284
  },
285
285
  );
286
+
287
+ (threadMessages as unknown as { [symbolInnerMessage]: T[] })[
288
+ symbolInnerMessage
289
+ ] = messages;
290
+
291
+ return threadMessages;
286
292
  }, [state, messages, isRunning]);
287
293
  };
288
294
 
@@ -1,32 +1,37 @@
1
+ import { ThreadState } from "../../api";
1
2
  import { ThreadMessage } from "../../types";
2
3
 
3
4
  export const symbolInnerMessage = Symbol("innerMessage");
5
+ const symbolInnerMessages = Symbol("innerMessages");
4
6
 
5
- export type ExternalStoreThreadMessage<T> = ThreadMessage & {
6
- [symbolInnerMessage]?: T;
7
- };
8
-
9
- export type ExternalStoreThreadMessages<T> = ThreadMessage & {
10
- [symbolInnerMessage]?: T[];
7
+ type WithInnerMessages<T> = {
8
+ [symbolInnerMessage]?: T | T[];
9
+ [symbolInnerMessages]?: T[];
11
10
  };
12
11
 
13
12
  /**
14
13
  * @deprecated Use `getExternalStoreMessages` (plural) instead. This function will be removed in 0.8.0.
15
14
  */
16
- export const getExternalStoreMessage = <T,>(
17
- message: ThreadMessage | ThreadMessage["content"],
18
- ) => {
19
- return (message as ExternalStoreThreadMessage<T>)[symbolInnerMessage];
15
+ export const getExternalStoreMessage = <T,>(input: ThreadMessage) => {
16
+ const withInnerMessages = input as WithInnerMessages<T>;
17
+ return withInnerMessages[symbolInnerMessage];
20
18
  };
21
19
 
20
+ const EMPTY_ARRAY: never[] = [];
21
+
22
22
  export const getExternalStoreMessages = <T,>(
23
- message: ThreadMessage | ThreadMessage["content"],
23
+ input: ThreadState | ThreadMessage | ThreadMessage["content"][number],
24
24
  ) => {
25
25
  // TODO temp until 0.8.0 (migrate useExternalStoreRuntime to always set an array)
26
- const value = (message as ExternalStoreThreadMessages<T>)[symbolInnerMessage];
27
- if (!value) return []
26
+
27
+ const container = (
28
+ "messages" in input ? input.messages : input
29
+ ) as WithInnerMessages<T>;
30
+ const value = container[symbolInnerMessages] || container[symbolInnerMessage];
31
+ if (!value) return EMPTY_ARRAY;
28
32
  if (Array.isArray(value)) {
29
33
  return value;
30
34
  }
31
- return [value];
35
+ container[symbolInnerMessages] = [value];
36
+ return container[symbolInnerMessages];
32
37
  };
@@ -12,3 +12,4 @@ export {
12
12
  useExternalMessageConverter,
13
13
  convertExternalMessages as unstable_convertExternalMessages,
14
14
  } from "./external-message-converter";
15
+ export { createMessageConverter as unstable_createMessageConverter } from "./createMessageConverter";
@@ -5,6 +5,7 @@ import { ExternalStoreRuntimeCore } from "./ExternalStoreRuntimeCore";
5
5
  import { ExternalStoreAdapter } from "./ExternalStoreAdapter";
6
6
  import { AssistantRuntimeImpl } from "../../api/AssistantRuntime";
7
7
  import { ThreadRuntimeImpl } from "../../api/ThreadRuntime";
8
+ import { useRuntimeAdapters } from "../adapters/RuntimeAdapterProvider";
8
9
 
9
10
  export const useExternalStoreRuntime = <T,>(store: ExternalStoreAdapter<T>) => {
10
11
  const [runtime] = useState(() => new ExternalStoreRuntimeCore(store));
@@ -13,6 +14,13 @@ export const useExternalStoreRuntime = <T,>(store: ExternalStoreAdapter<T>) => {
13
14
  runtime.setAdapter(store);
14
15
  });
15
16
 
17
+ const { modelContext } = useRuntimeAdapters() ?? {};
18
+
19
+ useEffect(() => {
20
+ if (!modelContext) return undefined;
21
+ return runtime.registerModelContextProvider(modelContext);
22
+ }, [modelContext, runtime]);
23
+
16
24
  return useMemo(
17
25
  () => AssistantRuntimeImpl.create(runtime, ThreadRuntimeImpl),
18
26
  [runtime],
@@ -38,7 +38,7 @@ export const useLocalRuntime = (
38
38
  adapter: ChatModelAdapter,
39
39
  { initialMessages, ...options }: LocalRuntimeOptions = {},
40
40
  ) => {
41
- const threadListAdapters = useRuntimeAdapters();
41
+ const { modelContext, ...threadListAdapters } = useRuntimeAdapters() ?? {};
42
42
  const opt = useMemo(
43
43
  () => ({
44
44
  ...options,
@@ -58,5 +58,10 @@ export const useLocalRuntime = (
58
58
  runtime.threads.getMainThreadRuntimeCore().__internal_load();
59
59
  }, [runtime, opt]);
60
60
 
61
+ useEffect(() => {
62
+ if (!modelContext) return undefined;
63
+ return runtime.registerModelContextProvider(modelContext);
64
+ }, [modelContext, runtime]);
65
+
61
66
  return useMemo(() => LocalRuntimeImpl.create(runtime), [runtime]);
62
67
  };
@@ -13,6 +13,8 @@ import { OptimisticState } from "./OptimisticState";
13
13
  import { FC, Fragment, useEffect, useId } from "react";
14
14
  import { create } from "zustand";
15
15
  import { AssistantStream, AssistantMessageStream } from "assistant-stream";
16
+ import { ModelContextProvider } from "../../model-context";
17
+ import { RuntimeAdapterProvider } from "../adapters/RuntimeAdapterProvider";
16
18
 
17
19
  type RemoteThreadData =
18
20
  | {
@@ -225,7 +227,10 @@ export class RemoteThreadListThreadListRuntimeCore
225
227
  return this._loadThreadsPromise;
226
228
  }
227
229
 
228
- constructor(adapter: RemoteThreadListAdapter) {
230
+ constructor(
231
+ adapter: RemoteThreadListAdapter,
232
+ private readonly contextProvider: ModelContextProvider,
233
+ ) {
229
234
  super();
230
235
 
231
236
  this._state.subscribe(() => this._notifySubscribers());
@@ -540,12 +545,18 @@ export class RemoteThreadListThreadListRuntimeCore
540
545
  const boundIds = this.useBoundIds();
541
546
  const { Provider } = this.useProvider();
542
547
 
548
+ const adapters = {
549
+ modelContext: this.contextProvider,
550
+ };
551
+
543
552
  return (
544
553
  (boundIds.length === 0 || boundIds[0] === id) && (
545
554
  // only render if the component is the first one mounted
546
- <this._hookManager.__internal_RenderThreadRuntimes
547
- provider={Provider}
548
- />
555
+ <RuntimeAdapterProvider adapters={adapters}>
556
+ <this._hookManager.__internal_RenderThreadRuntimes
557
+ provider={Provider}
558
+ />
559
+ </RuntimeAdapterProvider>
549
560
  )
550
561
  );
551
562
  };
@@ -15,7 +15,10 @@ class RemoteThreadListRuntimeCore
15
15
 
16
16
  constructor(adapter: RemoteThreadListAdapter) {
17
17
  super();
18
- this.threads = new RemoteThreadListThreadListRuntimeCore(adapter);
18
+ this.threads = new RemoteThreadListThreadListRuntimeCore(
19
+ adapter,
20
+ this._contextProvider,
21
+ );
19
22
  }
20
23
 
21
24
  public get RenderComponent() {
package/src/ui/index.ts CHANGED
@@ -1,41 +1,98 @@
1
- export {
2
- ThreadConfigProvider,
3
- useThreadConfig,
4
- type ThreadConfig,
5
- type ThreadWelcomeConfig,
6
- type UserMessageConfig,
7
- type AssistantMessageConfig,
8
- type StringsConfig,
9
- type SuggestionConfig,
10
- type ThreadConfigProviderProps,
11
- } from "./thread-config";
1
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
2
+ export { ThreadConfigProvider } from "./thread-config";
3
+
4
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
5
+ export { useThreadConfig } from "./thread-config";
6
+
7
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
8
+ export type { ThreadConfig } from "./thread-config";
9
+
10
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
11
+ export type { ThreadWelcomeConfig } from "./thread-config";
12
+
13
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
14
+ export type { UserMessageConfig } from "./thread-config";
15
+
16
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
17
+ export type { AssistantMessageConfig } from "./thread-config";
18
+
19
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
20
+ export type { StringsConfig } from "./thread-config";
21
+
22
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
23
+ export type { SuggestionConfig } from "./thread-config";
24
+
25
+ /** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
26
+ export type { ThreadConfigProviderProps } from "./thread-config";
12
27
 
28
+ /**
29
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
30
+ */
13
31
  export { default as AssistantActionBar } from "./assistant-action-bar";
14
32
 
33
+ /**
34
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
35
+ */
15
36
  export { default as AssistantMessage } from "./assistant-message";
16
37
 
38
+ /**
39
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
40
+ */
17
41
  export { default as AssistantModal } from "./assistant-modal";
18
42
 
43
+ /**
44
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
45
+ */
19
46
  export { default as BranchPicker } from "./branch-picker";
20
47
 
48
+ /**
49
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
50
+ */
21
51
  export { default as Composer } from "./composer";
22
52
 
53
+ /**
54
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
55
+ */
23
56
  export { default as ContentPart } from "./content-part";
24
57
 
58
+ /**
59
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
60
+ */
25
61
  export {
26
62
  default as AttachmentUI, // TODO name collision with Attachment
27
63
  } from "./attachment-ui";
28
64
 
65
+ /**
66
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
67
+ */
29
68
  export { default as EditComposer } from "./edit-composer";
30
69
 
70
+ /**
71
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
72
+ */
31
73
  export { default as Thread } from "./thread";
32
74
 
75
+ /**
76
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
77
+ */
33
78
  export { default as ThreadList } from "./thread-list";
34
79
 
80
+ /**
81
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
82
+ */
35
83
  export { default as ThreadListItem } from "./thread-list-item";
36
84
 
85
+ /**
86
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
87
+ */
37
88
  export { default as ThreadWelcome } from "./thread-welcome";
38
89
 
90
+ /**
91
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
92
+ */
39
93
  export { default as UserMessage } from "./user-message";
40
94
 
95
+ /**
96
+ * @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`.
97
+ */
41
98
  export { default as UserActionBar } from "./user-action-bar";