@assistant-ui/react 0.11.5 → 0.11.7

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 (168) hide show
  1. package/dist/client/AssistantClient.d.ts.map +1 -1
  2. package/dist/client/AssistantClient.js +1 -2
  3. package/dist/client/AssistantClient.js.map +1 -1
  4. package/dist/client/ToolUIClient.d.ts +3 -2
  5. package/dist/client/ToolUIClient.d.ts.map +1 -1
  6. package/dist/client/ToolUIClient.js +1 -5
  7. package/dist/client/ToolUIClient.js.map +1 -1
  8. package/dist/context/providers/AttachmentProvider.js +3 -3
  9. package/dist/context/providers/AttachmentProvider.js.map +1 -1
  10. package/dist/context/providers/MessageProvider.js +2 -2
  11. package/dist/context/providers/MessageProvider.js.map +1 -1
  12. package/dist/context/providers/PartProvider.js +2 -2
  13. package/dist/context/providers/PartProvider.js.map +1 -1
  14. package/dist/context/providers/TextMessagePartProvider.d.ts.map +1 -1
  15. package/dist/context/providers/TextMessagePartProvider.js +6 -7
  16. package/dist/context/providers/TextMessagePartProvider.js.map +1 -1
  17. package/dist/context/providers/ThreadListItemProvider.js +3 -3
  18. package/dist/context/providers/ThreadListItemProvider.js.map +1 -1
  19. package/dist/context/react/AssistantApiContext.d.ts +1 -1
  20. package/dist/context/react/AssistantApiContext.d.ts.map +1 -1
  21. package/dist/context/react/AssistantApiContext.js +4 -3
  22. package/dist/context/react/AssistantApiContext.js.map +1 -1
  23. package/dist/context/react/index.d.ts +1 -0
  24. package/dist/context/react/index.d.ts.map +1 -1
  25. package/dist/context/react/index.js +2 -0
  26. package/dist/context/react/index.js.map +1 -1
  27. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
  28. package/dist/legacy-runtime/AssistantRuntimeProvider.js +1 -5
  29. package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
  30. package/dist/legacy-runtime/client/AttachmentRuntimeClient.d.ts +2 -4
  31. package/dist/legacy-runtime/client/AttachmentRuntimeClient.d.ts.map +1 -1
  32. package/dist/legacy-runtime/client/AttachmentRuntimeClient.js +10 -10
  33. package/dist/legacy-runtime/client/AttachmentRuntimeClient.js.map +1 -1
  34. package/dist/legacy-runtime/client/ComposerRuntimeClient.d.ts +3 -2
  35. package/dist/legacy-runtime/client/ComposerRuntimeClient.d.ts.map +1 -1
  36. package/dist/legacy-runtime/client/ComposerRuntimeClient.js +1 -5
  37. package/dist/legacy-runtime/client/ComposerRuntimeClient.js.map +1 -1
  38. package/dist/legacy-runtime/client/MessagePartRuntimeClient.d.ts +1 -1
  39. package/dist/legacy-runtime/client/MessagePartRuntimeClient.d.ts.map +1 -1
  40. package/dist/legacy-runtime/client/MessagePartRuntimeClient.js +10 -10
  41. package/dist/legacy-runtime/client/MessagePartRuntimeClient.js.map +1 -1
  42. package/dist/legacy-runtime/client/MessageRuntimeClient.d.ts +3 -3
  43. package/dist/legacy-runtime/client/MessageRuntimeClient.d.ts.map +1 -1
  44. package/dist/legacy-runtime/client/MessageRuntimeClient.js +31 -31
  45. package/dist/legacy-runtime/client/MessageRuntimeClient.js.map +1 -1
  46. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.d.ts +2 -2
  47. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.d.ts.map +1 -1
  48. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.js +17 -17
  49. package/dist/legacy-runtime/client/ThreadListItemRuntimeClient.js.map +1 -1
  50. package/dist/legacy-runtime/client/ThreadListRuntimeClient.d.ts +3 -2
  51. package/dist/legacy-runtime/client/ThreadListRuntimeClient.d.ts.map +1 -1
  52. package/dist/legacy-runtime/client/ThreadListRuntimeClient.js +1 -5
  53. package/dist/legacy-runtime/client/ThreadListRuntimeClient.js.map +1 -1
  54. package/dist/legacy-runtime/client/ThreadRuntimeClient.d.ts +3 -2
  55. package/dist/legacy-runtime/client/ThreadRuntimeClient.d.ts.map +1 -1
  56. package/dist/legacy-runtime/client/ThreadRuntimeClient.js +1 -5
  57. package/dist/legacy-runtime/client/ThreadRuntimeClient.js.map +1 -1
  58. package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts +8 -1
  59. package/dist/legacy-runtime/runtime/ThreadRuntime.d.ts.map +1 -1
  60. package/dist/legacy-runtime/runtime/ThreadRuntime.js +5 -1
  61. package/dist/legacy-runtime/runtime/ThreadRuntime.js.map +1 -1
  62. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts +12 -0
  63. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts.map +1 -0
  64. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js +52 -0
  65. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js.map +1 -0
  66. package/dist/legacy-runtime/runtime-cores/assistant-transport/index.d.ts +3 -0
  67. package/dist/legacy-runtime/runtime-cores/assistant-transport/index.d.ts.map +1 -0
  68. package/dist/legacy-runtime/runtime-cores/assistant-transport/index.js +6 -0
  69. package/dist/legacy-runtime/runtime-cores/assistant-transport/index.js.map +1 -0
  70. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.d.ts +11 -0
  71. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.d.ts.map +1 -0
  72. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.js +55 -0
  73. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.js.map +1 -0
  74. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +66 -0
  75. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -0
  76. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.js +1 -0
  77. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.js.map +1 -0
  78. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts +7 -0
  79. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -0
  80. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +185 -0
  81. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -0
  82. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.d.ts +3 -0
  83. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.d.ts.map +1 -0
  84. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js +12 -0
  85. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js.map +1 -0
  86. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.d.ts +4 -0
  87. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.d.ts.map +1 -0
  88. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js +13 -0
  89. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js.map +1 -0
  90. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.d.ts +13 -0
  91. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.d.ts.map +1 -0
  92. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js +138 -0
  93. package/dist/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.js.map +1 -0
  94. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.d.ts +13 -0
  95. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.d.ts.map +1 -0
  96. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.js +32 -0
  97. package/dist/legacy-runtime/runtime-cores/assistant-transport/utils.js.map +1 -0
  98. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.d.ts +1 -0
  99. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.d.ts.map +1 -1
  100. package/dist/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.js.map +1 -1
  101. package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts +2 -1
  102. package/dist/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.d.ts.map +1 -1
  103. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.d.ts +3 -1
  104. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.d.ts.map +1 -1
  105. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.d.ts +3 -2
  106. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -1
  107. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.js +9 -2
  108. package/dist/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  109. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.d.ts.map +1 -1
  110. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.js +2 -2
  111. package/dist/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.js.map +1 -1
  112. package/dist/legacy-runtime/runtime-cores/index.d.ts +1 -0
  113. package/dist/legacy-runtime/runtime-cores/index.d.ts.map +1 -1
  114. package/dist/legacy-runtime/runtime-cores/index.js +1 -0
  115. package/dist/legacy-runtime/runtime-cores/index.js.map +1 -1
  116. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.d.ts +1 -0
  117. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.d.ts.map +1 -1
  118. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.js +5 -0
  119. package/dist/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.js.map +1 -1
  120. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
  121. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.js +3 -0
  122. package/dist/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
  123. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +2 -0
  124. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
  125. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +2 -0
  126. package/dist/legacy-runtime/runtime-cores/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
  127. package/dist/utils/tap-store/tap-api.d.ts +9 -1
  128. package/dist/utils/tap-store/tap-api.d.ts.map +1 -1
  129. package/dist/utils/tap-store/tap-api.js +12 -2
  130. package/dist/utils/tap-store/tap-api.js.map +1 -1
  131. package/package.json +1 -1
  132. package/src/client/AssistantClient.ts +1 -4
  133. package/src/client/ToolUIClient.ts +1 -6
  134. package/src/context/providers/AttachmentProvider.tsx +3 -3
  135. package/src/context/providers/MessageProvider.tsx +2 -2
  136. package/src/context/providers/PartProvider.tsx +2 -2
  137. package/src/context/providers/TextMessagePartProvider.tsx +5 -7
  138. package/src/context/providers/ThreadListItemProvider.tsx +3 -3
  139. package/src/context/react/AssistantApiContext.tsx +7 -2
  140. package/src/context/react/index.ts +2 -0
  141. package/src/legacy-runtime/AssistantRuntimeProvider.tsx +1 -15
  142. package/src/legacy-runtime/client/AttachmentRuntimeClient.ts +10 -11
  143. package/src/legacy-runtime/client/ComposerRuntimeClient.ts +1 -6
  144. package/src/legacy-runtime/client/MessagePartRuntimeClient.ts +13 -14
  145. package/src/legacy-runtime/client/MessageRuntimeClient.ts +35 -36
  146. package/src/legacy-runtime/client/ThreadListItemRuntimeClient.ts +17 -18
  147. package/src/legacy-runtime/client/ThreadListRuntimeClient.ts +1 -6
  148. package/src/legacy-runtime/client/ThreadRuntimeClient.ts +1 -6
  149. package/src/legacy-runtime/runtime/ThreadRuntime.ts +14 -2
  150. package/src/legacy-runtime/runtime-cores/assistant-transport/commandQueue.ts +62 -0
  151. package/src/legacy-runtime/runtime-cores/assistant-transport/index.ts +2 -0
  152. package/src/legacy-runtime/runtime-cores/assistant-transport/runManager.ts +67 -0
  153. package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +96 -0
  154. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransport.spec.md +125 -0
  155. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.tsx +232 -0
  156. package/src/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.ts +18 -0
  157. package/src/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.ts +9 -0
  158. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.ts +173 -0
  159. package/src/legacy-runtime/runtime-cores/assistant-transport/utils.ts +42 -0
  160. package/src/legacy-runtime/runtime-cores/core/BaseThreadRuntimeCore.tsx +1 -0
  161. package/src/legacy-runtime/runtime-cores/core/ThreadRuntimeCore.tsx +2 -1
  162. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreAdapter.tsx +3 -0
  163. package/src/legacy-runtime/runtime-cores/external-store/ExternalStoreThreadRuntimeCore.tsx +13 -2
  164. package/src/legacy-runtime/runtime-cores/external-store/ThreadMessageLike.tsx +2 -5
  165. package/src/legacy-runtime/runtime-cores/index.ts +1 -0
  166. package/src/legacy-runtime/runtime-cores/local/LocalThreadRuntimeCore.tsx +6 -0
  167. package/src/legacy-runtime/runtime-cores/remote-thread-list/EMPTY_THREAD_CORE.tsx +4 -0
  168. package/src/utils/tap-store/tap-api.ts +19 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ComposerRuntimeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAoBrC,eAAO,MAAM,cAAc;;;;iBAMV,SAAS,CAAC,MAAM,CAAC;mBACf,SAAS,CAAC,MAAM,CAAC;aACvB,eAAe;EAuF3B,CAAC"}
1
+ {"version":3,"file":"ComposerRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ComposerRuntimeClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EAEhB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAEL,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAoBrC,eAAO,MAAM,cAAc;;;;;iBAMV,SAAS,CAAC,MAAM,CAAC;mBACf,SAAS,CAAC,MAAM,CAAC;aACvB,eAAe;EAkF3B,CAAC"}
@@ -71,7 +71,7 @@ var ComposerClient = resource(
71
71
  type: runtimeState.type ?? "thread"
72
72
  };
73
73
  }, [runtimeState, attachments.state]);
74
- const api = tapApi({
74
+ return tapApi({
75
75
  getState: () => state,
76
76
  setText: runtime.setText,
77
77
  setRole: runtime.setRole,
@@ -93,10 +93,6 @@ var ComposerClient = resource(
93
93
  },
94
94
  __internal_getRuntime: () => runtime
95
95
  });
96
- return {
97
- state,
98
- api
99
- };
100
96
  }
101
97
  );
102
98
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/legacy-runtime/client/ComposerRuntimeClient.ts"],"sourcesContent":["import {\n resource,\n tapMemo,\n tapEffect,\n RefObject,\n tapInlineResource,\n} from \"@assistant-ui/tap\";\nimport {\n ComposerRuntime,\n EditComposerRuntime,\n} from \"../runtime/ComposerRuntime\";\nimport { Unsubscribe } from \"../../types\";\n\nimport { tapApi } from \"../../utils/tap-store\";\nimport { ComposerRuntimeEventType } from \"../runtime-cores/core/ComposerRuntimeCore\";\nimport { tapEvents } from \"../../client/EventContext\";\nimport {\n ComposerClientState,\n ComposerClientApi,\n} from \"../../client/types/Composer\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport { AttachmentRuntimeClient } from \"./AttachmentRuntimeClient\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\n\nconst ComposerAttachmentClientByIndex = resource(\n ({ runtime, index }: { runtime: ComposerRuntime; index: number }) => {\n const attachmentRuntime = tapMemo(\n () => runtime.getAttachmentByIndex(index),\n [runtime, index],\n );\n\n return tapInlineResource(\n AttachmentRuntimeClient({\n runtime: attachmentRuntime,\n }),\n );\n },\n);\n\nexport const ComposerClient = resource(\n ({\n threadIdRef,\n messageIdRef,\n runtime,\n }: {\n threadIdRef: RefObject<string>;\n messageIdRef?: RefObject<string>;\n runtime: ComposerRuntime;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n const events = tapEvents();\n\n // Bind composer events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to composer events\n const composerEvents: ComposerRuntimeEventType[] = [\n \"send\",\n \"attachment-add\",\n ];\n\n for (const event of composerEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n events.emit(`composer.${event}`, {\n threadId: threadIdRef.current,\n ...(messageIdRef && { messageId: messageIdRef.current }),\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, events, threadIdRef, messageIdRef]);\n\n const attachments = tapLookupResources(\n runtimeState.attachments.map((_, idx) =>\n ComposerAttachmentClientByIndex(\n { runtime: runtime, index: idx },\n { key: idx },\n ),\n ),\n );\n\n const state = tapMemo<ComposerClientState>(() => {\n return {\n text: runtimeState.text,\n role: runtimeState.role,\n attachments: attachments.state,\n runConfig: runtimeState.runConfig,\n isEditing: runtimeState.isEditing,\n canCancel: runtimeState.canCancel,\n attachmentAccept: runtimeState.attachmentAccept,\n isEmpty: runtimeState.isEmpty,\n type: runtimeState.type ?? \"thread\",\n };\n }, [runtimeState, attachments.state]);\n\n const api = tapApi<ComposerClientApi>({\n getState: () => state,\n\n setText: runtime.setText,\n setRole: runtime.setRole,\n setRunConfig: runtime.setRunConfig,\n addAttachment: runtime.addAttachment,\n reset: runtime.reset,\n\n clearAttachments: runtime.clearAttachments,\n send: runtime.send,\n cancel: runtime.cancel,\n beginEdit:\n (runtime as EditComposerRuntime).beginEdit ??\n (() => {\n throw new Error(\"beginEdit is not supported in this runtime\");\n }),\n\n attachment: (selector) => {\n if (\"id\" in selector) {\n return attachments.api({ key: selector.id });\n } else {\n return attachments.api(selector);\n }\n },\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n state,\n api,\n };\n },\n);\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAOP,SAAS,cAAc;AAEvB,SAAS,iBAAiB;AAK1B,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,uBAAuB;AAEhC,IAAM,kCAAkC;AAAA,EACtC,CAAC,EAAE,SAAS,MAAM,MAAmD;AACnE,UAAM,oBAAoB;AAAA,MACxB,MAAM,QAAQ,qBAAqB,KAAK;AAAA,MACxC,CAAC,SAAS,KAAK;AAAA,IACjB;AAEA,WAAO;AAAA,MACL,wBAAwB;AAAA,QACtB,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,IAAM,iBAAiB;AAAA,EAC5B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AACJ,UAAM,eAAe,gBAAgB,OAAO;AAC5C,UAAM,SAAS,UAAU;AAGzB,cAAU,MAAM;AACd,YAAM,gBAA+B,CAAC;AAGtC,YAAM,iBAA6C;AAAA,QACjD;AAAA,QACA;AAAA,MACF;AAEA,iBAAW,SAAS,gBAAgB;AAClC,cAAM,cAAc,QAAQ,YAAY,OAAO,MAAM;AACnD,iBAAO,KAAK,YAAY,KAAK,IAAI;AAAA,YAC/B,UAAU,YAAY;AAAA,YACtB,GAAI,gBAAgB,EAAE,WAAW,aAAa,QAAQ;AAAA,UACxD,CAAC;AAAA,QACH,CAAC;AACD,sBAAc,KAAK,WAAW;AAAA,MAChC;AAEA,aAAO,MAAM;AACX,mBAAW,SAAS,cAAe,OAAM;AAAA,MAC3C;AAAA,IACF,GAAG,CAAC,SAAS,QAAQ,aAAa,YAAY,CAAC;AAE/C,UAAM,cAAc;AAAA,MAClB,aAAa,YAAY;AAAA,QAAI,CAAC,GAAG,QAC/B;AAAA,UACE,EAAE,SAAkB,OAAO,IAAI;AAAA,UAC/B,EAAE,KAAK,IAAI;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAEA,UAAM,QAAQ,QAA6B,MAAM;AAC/C,aAAO;AAAA,QACL,MAAM,aAAa;AAAA,QACnB,MAAM,aAAa;AAAA,QACnB,aAAa,YAAY;AAAA,QACzB,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,kBAAkB,aAAa;AAAA,QAC/B,SAAS,aAAa;AAAA,QACtB,MAAM,aAAa,QAAQ;AAAA,MAC7B;AAAA,IACF,GAAG,CAAC,cAAc,YAAY,KAAK,CAAC;AAEpC,UAAM,MAAM,OAA0B;AAAA,MACpC,UAAU,MAAM;AAAA,MAEhB,SAAS,QAAQ;AAAA,MACjB,SAAS,QAAQ;AAAA,MACjB,cAAc,QAAQ;AAAA,MACtB,eAAe,QAAQ;AAAA,MACvB,OAAO,QAAQ;AAAA,MAEf,kBAAkB,QAAQ;AAAA,MAC1B,MAAM,QAAQ;AAAA,MACd,QAAQ,QAAQ;AAAA,MAChB,WACG,QAAgC,cAChC,MAAM;AACL,cAAM,IAAI,MAAM,4CAA4C;AAAA,MAC9D;AAAA,MAEF,YAAY,CAAC,aAAa;AACxB,YAAI,QAAQ,UAAU;AACpB,iBAAO,YAAY,IAAI,EAAE,KAAK,SAAS,GAAG,CAAC;AAAA,QAC7C,OAAO;AACL,iBAAO,YAAY,IAAI,QAAQ;AAAA,QACjC;AAAA,MACF;AAAA,MAEA,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/legacy-runtime/client/ComposerRuntimeClient.ts"],"sourcesContent":["import {\n resource,\n tapMemo,\n tapEffect,\n RefObject,\n tapInlineResource,\n} from \"@assistant-ui/tap\";\nimport {\n ComposerRuntime,\n EditComposerRuntime,\n} from \"../runtime/ComposerRuntime\";\nimport { Unsubscribe } from \"../../types\";\n\nimport { tapApi } from \"../../utils/tap-store\";\nimport { ComposerRuntimeEventType } from \"../runtime-cores/core/ComposerRuntimeCore\";\nimport { tapEvents } from \"../../client/EventContext\";\nimport {\n ComposerClientState,\n ComposerClientApi,\n} from \"../../client/types/Composer\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport { AttachmentRuntimeClient } from \"./AttachmentRuntimeClient\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\n\nconst ComposerAttachmentClientByIndex = resource(\n ({ runtime, index }: { runtime: ComposerRuntime; index: number }) => {\n const attachmentRuntime = tapMemo(\n () => runtime.getAttachmentByIndex(index),\n [runtime, index],\n );\n\n return tapInlineResource(\n AttachmentRuntimeClient({\n runtime: attachmentRuntime,\n }),\n );\n },\n);\n\nexport const ComposerClient = resource(\n ({\n threadIdRef,\n messageIdRef,\n runtime,\n }: {\n threadIdRef: RefObject<string>;\n messageIdRef?: RefObject<string>;\n runtime: ComposerRuntime;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n const events = tapEvents();\n\n // Bind composer events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to composer events\n const composerEvents: ComposerRuntimeEventType[] = [\n \"send\",\n \"attachment-add\",\n ];\n\n for (const event of composerEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n events.emit(`composer.${event}`, {\n threadId: threadIdRef.current,\n ...(messageIdRef && { messageId: messageIdRef.current }),\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, events, threadIdRef, messageIdRef]);\n\n const attachments = tapLookupResources(\n runtimeState.attachments.map((_, idx) =>\n ComposerAttachmentClientByIndex(\n { runtime: runtime, index: idx },\n { key: idx },\n ),\n ),\n );\n\n const state = tapMemo<ComposerClientState>(() => {\n return {\n text: runtimeState.text,\n role: runtimeState.role,\n attachments: attachments.state,\n runConfig: runtimeState.runConfig,\n isEditing: runtimeState.isEditing,\n canCancel: runtimeState.canCancel,\n attachmentAccept: runtimeState.attachmentAccept,\n isEmpty: runtimeState.isEmpty,\n type: runtimeState.type ?? \"thread\",\n };\n }, [runtimeState, attachments.state]);\n\n return tapApi<ComposerClientApi>({\n getState: () => state,\n\n setText: runtime.setText,\n setRole: runtime.setRole,\n setRunConfig: runtime.setRunConfig,\n addAttachment: runtime.addAttachment,\n reset: runtime.reset,\n\n clearAttachments: runtime.clearAttachments,\n send: runtime.send,\n cancel: runtime.cancel,\n beginEdit:\n (runtime as EditComposerRuntime).beginEdit ??\n (() => {\n throw new Error(\"beginEdit is not supported in this runtime\");\n }),\n\n attachment: (selector) => {\n if (\"id\" in selector) {\n return attachments.api({ key: selector.id });\n } else {\n return attachments.api(selector);\n }\n },\n\n __internal_getRuntime: () => runtime,\n });\n },\n);\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAOP,SAAS,cAAc;AAEvB,SAAS,iBAAiB;AAK1B,SAAS,0BAA0B;AACnC,SAAS,+BAA+B;AACxC,SAAS,uBAAuB;AAEhC,IAAM,kCAAkC;AAAA,EACtC,CAAC,EAAE,SAAS,MAAM,MAAmD;AACnE,UAAM,oBAAoB;AAAA,MACxB,MAAM,QAAQ,qBAAqB,KAAK;AAAA,MACxC,CAAC,SAAS,KAAK;AAAA,IACjB;AAEA,WAAO;AAAA,MACL,wBAAwB;AAAA,QACtB,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,IAAM,iBAAiB;AAAA,EAC5B,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AACJ,UAAM,eAAe,gBAAgB,OAAO;AAC5C,UAAM,SAAS,UAAU;AAGzB,cAAU,MAAM;AACd,YAAM,gBAA+B,CAAC;AAGtC,YAAM,iBAA6C;AAAA,QACjD;AAAA,QACA;AAAA,MACF;AAEA,iBAAW,SAAS,gBAAgB;AAClC,cAAM,cAAc,QAAQ,YAAY,OAAO,MAAM;AACnD,iBAAO,KAAK,YAAY,KAAK,IAAI;AAAA,YAC/B,UAAU,YAAY;AAAA,YACtB,GAAI,gBAAgB,EAAE,WAAW,aAAa,QAAQ;AAAA,UACxD,CAAC;AAAA,QACH,CAAC;AACD,sBAAc,KAAK,WAAW;AAAA,MAChC;AAEA,aAAO,MAAM;AACX,mBAAW,SAAS,cAAe,OAAM;AAAA,MAC3C;AAAA,IACF,GAAG,CAAC,SAAS,QAAQ,aAAa,YAAY,CAAC;AAE/C,UAAM,cAAc;AAAA,MAClB,aAAa,YAAY;AAAA,QAAI,CAAC,GAAG,QAC/B;AAAA,UACE,EAAE,SAAkB,OAAO,IAAI;AAAA,UAC/B,EAAE,KAAK,IAAI;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAEA,UAAM,QAAQ,QAA6B,MAAM;AAC/C,aAAO;AAAA,QACL,MAAM,aAAa;AAAA,QACnB,MAAM,aAAa;AAAA,QACnB,aAAa,YAAY;AAAA,QACzB,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,kBAAkB,aAAa;AAAA,QAC/B,SAAS,aAAa;AAAA,QACtB,MAAM,aAAa,QAAQ;AAAA,MAC7B;AAAA,IACF,GAAG,CAAC,cAAc,YAAY,KAAK,CAAC;AAEpC,WAAO,OAA0B;AAAA,MAC/B,UAAU,MAAM;AAAA,MAEhB,SAAS,QAAQ;AAAA,MACjB,SAAS,QAAQ;AAAA,MACjB,cAAc,QAAQ;AAAA,MACtB,eAAe,QAAQ;AAAA,MACvB,OAAO,QAAQ;AAAA,MAEf,kBAAkB,QAAQ;AAAA,MAC1B,MAAM,QAAQ;AAAA,MACd,QAAQ,QAAQ;AAAA,MAChB,WACG,QAAgC,cAChC,MAAM;AACL,cAAM,IAAI,MAAM,4CAA4C;AAAA,MAC9D;AAAA,MAEF,YAAY,CAAC,aAAa;AACxB,YAAI,QAAQ,UAAU;AACpB,iBAAO,YAAY,IAAI,EAAE,KAAK,SAAS,GAAG,CAAC;AAAA,QAC7C,OAAO;AACL,iBAAO,YAAY,IAAI,QAAQ;AAAA,QACjC;AAAA,MACF;AAAA,MAEA,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -2,7 +2,7 @@ import { MessagePartRuntime } from "../runtime/MessagePartRuntime";
2
2
  import { MessagePartClientApi } from "../../client/types/Part";
3
3
  export declare const MessagePartClient: import("@assistant-ui/tap").ResourceElementConstructor<{
4
4
  key: string | undefined;
5
- state: import("../runtime").MessagePartState;
5
+ state: any;
6
6
  api: MessagePartClientApi;
7
7
  }, {
8
8
  runtime: MessagePartRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePartRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/MessagePartRuntimeClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,eAAO,MAAM,iBAAiB;;;;;aACH,kBAAkB;EAoB5C,CAAC"}
1
+ {"version":3,"file":"MessagePartRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/MessagePartRuntimeClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,eAAO,MAAM,iBAAiB;;;;;aACH,kBAAkB;EAmB5C,CAAC"}
@@ -5,16 +5,16 @@ import { tapSubscribable } from "../util-hooks/tapSubscribable.js";
5
5
  var MessagePartClient = resource(
6
6
  ({ runtime }) => {
7
7
  const runtimeState = tapSubscribable(runtime);
8
- const api = tapApi({
9
- getState: () => runtimeState,
10
- addToolResult: (result) => runtime.addToolResult(result),
11
- __internal_getRuntime: () => runtime
12
- });
13
- return {
14
- key: runtimeState.type === "tool-call" ? "toolCallId-" + runtimeState.toolCallId : void 0,
15
- state: runtimeState,
16
- api
17
- };
8
+ return tapApi(
9
+ {
10
+ getState: () => runtimeState,
11
+ addToolResult: (result) => runtime.addToolResult(result),
12
+ __internal_getRuntime: () => runtime
13
+ },
14
+ {
15
+ key: runtimeState.type === "tool-call" ? "toolCallId-" + runtimeState.toolCallId : void 0
16
+ }
17
+ );
18
18
  }
19
19
  );
20
20
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/legacy-runtime/client/MessagePartRuntimeClient.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { MessagePartRuntime } from \"../runtime/MessagePartRuntime\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { MessagePartClientApi } from \"../../client/types/Part\";\nexport const MessagePartClient = resource(\n ({ runtime }: { runtime: MessagePartRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const api = tapApi<MessagePartClientApi>({\n getState: () => runtimeState,\n\n addToolResult: (result) => runtime.addToolResult(result),\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n key:\n runtimeState.type === \"tool-call\"\n ? \"toolCallId-\" + runtimeState.toolCallId\n : undefined,\n state: runtimeState,\n api,\n };\n },\n);\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEvB,SAAS,uBAAuB;AAEzB,IAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,QAAQ,MAAuC;AAChD,UAAM,eAAe,gBAAgB,OAAO;AAE5C,UAAM,MAAM,OAA6B;AAAA,MACvC,UAAU,MAAM;AAAA,MAEhB,eAAe,CAAC,WAAW,QAAQ,cAAc,MAAM;AAAA,MAEvD,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAED,WAAO;AAAA,MACL,KACE,aAAa,SAAS,cAClB,gBAAgB,aAAa,aAC7B;AAAA,MACN,OAAO;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/legacy-runtime/client/MessagePartRuntimeClient.ts"],"sourcesContent":["import { resource } from \"@assistant-ui/tap\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { MessagePartRuntime } from \"../runtime/MessagePartRuntime\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { MessagePartClientApi } from \"../../client/types/Part\";\nexport const MessagePartClient = resource(\n ({ runtime }: { runtime: MessagePartRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n return tapApi<MessagePartClientApi>(\n {\n getState: () => runtimeState,\n\n addToolResult: (result) => runtime.addToolResult(result),\n\n __internal_getRuntime: () => runtime,\n },\n {\n key:\n runtimeState.type === \"tool-call\"\n ? \"toolCallId-\" + runtimeState.toolCallId\n : undefined,\n },\n );\n },\n);\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEvB,SAAS,uBAAuB;AAEzB,IAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,QAAQ,MAAuC;AAChD,UAAM,eAAe,gBAAgB,OAAO;AAE5C,WAAO;AAAA,MACL;AAAA,QACE,UAAU,MAAM;AAAA,QAEhB,eAAe,CAAC,WAAW,QAAQ,cAAc,MAAM;AAAA,QAEvD,uBAAuB,MAAM;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,KACE,aAAa,SAAS,cAClB,gBAAgB,aAAa,aAC7B;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import { MessageRuntime } from "../runtime/MessageRuntime";
2
2
  import { RefObject } from "react";
3
- import { MessageClientState, MessageClientApi } from "../../client/types/Message";
3
+ import { MessageClientApi } from "../../client/types/Message";
4
4
  export declare const MessageClient: import("@assistant-ui/tap").ResourceElementConstructor<{
5
- key: string;
6
- state: MessageClientState;
5
+ key: string | undefined;
6
+ state: any;
7
7
  api: MessageClientApi;
8
8
  }, {
9
9
  runtime: MessageRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/MessageRuntimeClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAyBpC,eAAO,MAAM,aAAa;;;;;aAKb,cAAc;iBACV,SAAS,CAAC,MAAM,CAAC;EA8FjC,CAAC"}
1
+ {"version":3,"file":"MessageRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/MessageRuntimeClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAEL,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAyBpC,eAAO,MAAM,aAAa;;;;;aAKb,cAAc;iBACV,SAAS,CAAC,MAAM,CAAC;EA6FjC,CAAC"}
@@ -79,38 +79,38 @@ var MessageClient = resource(
79
79
  isCopiedState,
80
80
  isHoveringState
81
81
  ]);
82
- const api = tapApi({
83
- getState: () => state,
84
- composer: composer.api,
85
- reload: (config) => runtime.reload(config),
86
- speak: () => runtime.speak(),
87
- stopSpeaking: () => runtime.stopSpeaking(),
88
- submitFeedback: (feedback) => runtime.submitFeedback(feedback),
89
- switchToBranch: (options) => runtime.switchToBranch(options),
90
- getCopyText: () => runtime.unstable_getCopyText(),
91
- part: (selector) => {
92
- if ("index" in selector) {
93
- return parts.api({ index: selector.index });
94
- } else {
95
- return parts.api({ key: "toolCallId-" + selector.toolCallId });
96
- }
97
- },
98
- attachment: (selector) => {
99
- if ("id" in selector) {
100
- return attachments.api({ key: selector.id });
101
- } else {
102
- return attachments.api(selector);
103
- }
82
+ return tapApi(
83
+ {
84
+ getState: () => state,
85
+ composer: composer.api,
86
+ reload: (config) => runtime.reload(config),
87
+ speak: () => runtime.speak(),
88
+ stopSpeaking: () => runtime.stopSpeaking(),
89
+ submitFeedback: (feedback) => runtime.submitFeedback(feedback),
90
+ switchToBranch: (options) => runtime.switchToBranch(options),
91
+ getCopyText: () => runtime.unstable_getCopyText(),
92
+ part: (selector) => {
93
+ if ("index" in selector) {
94
+ return parts.api({ index: selector.index });
95
+ } else {
96
+ return parts.api({ key: "toolCallId-" + selector.toolCallId });
97
+ }
98
+ },
99
+ attachment: (selector) => {
100
+ if ("id" in selector) {
101
+ return attachments.api({ key: selector.id });
102
+ } else {
103
+ return attachments.api(selector);
104
+ }
105
+ },
106
+ setIsCopied,
107
+ setIsHovering,
108
+ __internal_getRuntime: () => runtime
104
109
  },
105
- setIsCopied,
106
- setIsHovering,
107
- __internal_getRuntime: () => runtime
108
- });
109
- return {
110
- key: runtimeState.id,
111
- state,
112
- api
113
- };
110
+ {
111
+ key: runtimeState.id
112
+ }
113
+ );
114
114
  }
115
115
  );
116
116
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/legacy-runtime/client/MessageRuntimeClient.ts"],"sourcesContent":["import {\n resource,\n tapInlineResource,\n tapMemo,\n tapState,\n} from \"@assistant-ui/tap\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { MessageRuntime } from \"../runtime/MessageRuntime\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { ComposerClient } from \"./ComposerRuntimeClient\";\nimport { MessagePartClient } from \"./MessagePartRuntimeClient\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport { RefObject } from \"react\";\nimport {\n MessageClientState,\n MessageClientApi,\n} from \"../../client/types/Message\";\nimport { AttachmentRuntimeClient } from \"./AttachmentRuntimeClient\";\n\nconst MessageAttachmentClientByIndex = resource(\n ({ runtime, index }: { runtime: MessageRuntime; index: number }) => {\n const attachmentRuntime = tapMemo(\n () => runtime.getAttachmentByIndex(index),\n [runtime, index],\n );\n return tapInlineResource(\n AttachmentRuntimeClient({ runtime: attachmentRuntime }),\n );\n },\n);\n\nconst MessagePartByIndex = resource(\n ({ runtime, index }: { runtime: MessageRuntime; index: number }) => {\n const partRuntime = tapMemo(\n () => runtime.getMessagePartByIndex(index),\n [runtime, index],\n );\n return tapInlineResource(MessagePartClient({ runtime: partRuntime }));\n },\n);\n\nexport const MessageClient = resource(\n ({\n runtime,\n threadIdRef,\n }: {\n runtime: MessageRuntime;\n threadIdRef: RefObject<string>;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const [isCopiedState, setIsCopied] = tapState(false);\n const [isHoveringState, setIsHovering] = tapState(false);\n\n const messageIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState().id;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n messageIdRef,\n }),\n );\n\n const parts = tapLookupResources(\n runtimeState.content.map((_, idx) =>\n MessagePartByIndex({ runtime, index: idx }, { key: idx }),\n ),\n );\n\n const attachments = tapLookupResources(\n runtimeState.attachments?.map((_, idx) =>\n MessageAttachmentClientByIndex({ runtime, index: idx }, { key: idx }),\n ) ?? [],\n );\n\n const state = tapMemo<MessageClientState>(() => {\n return {\n ...(runtimeState as MessageClientState),\n\n parts: parts.state,\n composer: composer.state,\n\n isCopied: isCopiedState,\n isHovering: isHoveringState,\n };\n }, [\n runtimeState,\n parts.state,\n composer.state,\n isCopiedState,\n isHoveringState,\n ]);\n\n const api = tapApi<MessageClientApi>({\n getState: () => state,\n\n composer: composer.api,\n\n reload: (config) => runtime.reload(config),\n speak: () => runtime.speak(),\n stopSpeaking: () => runtime.stopSpeaking(),\n submitFeedback: (feedback) => runtime.submitFeedback(feedback),\n switchToBranch: (options) => runtime.switchToBranch(options),\n getCopyText: () => runtime.unstable_getCopyText(),\n\n part: (selector) => {\n if (\"index\" in selector) {\n return parts.api({ index: selector.index });\n } else {\n return parts.api({ key: \"toolCallId-\" + selector.toolCallId });\n }\n },\n\n attachment: (selector) => {\n if (\"id\" in selector) {\n return attachments.api({ key: selector.id });\n } else {\n return attachments.api(selector);\n }\n },\n\n setIsCopied,\n setIsHovering,\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n key: runtimeState.id,\n state,\n api,\n };\n },\n);\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/legacy-runtime/client/MessageRuntimeClient.ts"],"sourcesContent":["import {\n resource,\n tapInlineResource,\n tapMemo,\n tapState,\n} from \"@assistant-ui/tap\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { MessageRuntime } from \"../runtime/MessageRuntime\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { ComposerClient } from \"./ComposerRuntimeClient\";\nimport { MessagePartClient } from \"./MessagePartRuntimeClient\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport { RefObject } from \"react\";\nimport {\n MessageClientState,\n MessageClientApi,\n} from \"../../client/types/Message\";\nimport { AttachmentRuntimeClient } from \"./AttachmentRuntimeClient\";\n\nconst MessageAttachmentClientByIndex = resource(\n ({ runtime, index }: { runtime: MessageRuntime; index: number }) => {\n const attachmentRuntime = tapMemo(\n () => runtime.getAttachmentByIndex(index),\n [runtime, index],\n );\n return tapInlineResource(\n AttachmentRuntimeClient({ runtime: attachmentRuntime }),\n );\n },\n);\n\nconst MessagePartByIndex = resource(\n ({ runtime, index }: { runtime: MessageRuntime; index: number }) => {\n const partRuntime = tapMemo(\n () => runtime.getMessagePartByIndex(index),\n [runtime, index],\n );\n return tapInlineResource(MessagePartClient({ runtime: partRuntime }));\n },\n);\n\nexport const MessageClient = resource(\n ({\n runtime,\n threadIdRef,\n }: {\n runtime: MessageRuntime;\n threadIdRef: RefObject<string>;\n }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const [isCopiedState, setIsCopied] = tapState(false);\n const [isHoveringState, setIsHovering] = tapState(false);\n\n const messageIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState().id;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n messageIdRef,\n }),\n );\n\n const parts = tapLookupResources(\n runtimeState.content.map((_, idx) =>\n MessagePartByIndex({ runtime, index: idx }, { key: idx }),\n ),\n );\n\n const attachments = tapLookupResources(\n runtimeState.attachments?.map((_, idx) =>\n MessageAttachmentClientByIndex({ runtime, index: idx }, { key: idx }),\n ) ?? [],\n );\n\n const state = tapMemo<MessageClientState>(() => {\n return {\n ...(runtimeState as MessageClientState),\n\n parts: parts.state,\n composer: composer.state,\n\n isCopied: isCopiedState,\n isHovering: isHoveringState,\n };\n }, [\n runtimeState,\n parts.state,\n composer.state,\n isCopiedState,\n isHoveringState,\n ]);\n\n return tapApi<MessageClientApi>(\n {\n getState: () => state,\n\n composer: composer.api,\n\n reload: (config) => runtime.reload(config),\n speak: () => runtime.speak(),\n stopSpeaking: () => runtime.stopSpeaking(),\n submitFeedback: (feedback) => runtime.submitFeedback(feedback),\n switchToBranch: (options) => runtime.switchToBranch(options),\n getCopyText: () => runtime.unstable_getCopyText(),\n\n part: (selector) => {\n if (\"index\" in selector) {\n return parts.api({ index: selector.index });\n } else {\n return parts.api({ key: \"toolCallId-\" + selector.toolCallId });\n }\n },\n\n attachment: (selector) => {\n if (\"id\" in selector) {\n return attachments.api({ key: selector.id });\n } else {\n return attachments.api(selector);\n }\n },\n\n setIsCopied,\n setIsHovering,\n\n __internal_getRuntime: () => runtime,\n },\n {\n key: runtimeState.id,\n },\n );\n },\n);\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
1
  import { ThreadListItemRuntime } from "../runtime/ThreadListItemRuntime";
2
2
  import { ThreadListItemClientApi } from "../../client/types/ThreadListItem";
3
3
  export declare const ThreadListItemClient: import("@assistant-ui/tap").ResourceElementConstructor<{
4
- state: import("../runtime").ThreadListItemState;
4
+ key: string | undefined;
5
+ state: any;
5
6
  api: ThreadListItemClientApi;
6
- key: string;
7
7
  }, {
8
8
  runtime: ThreadListItemRuntime;
9
9
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListItemRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ThreadListItemRuntimeClient.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;aACN,qBAAqB;EA+C/C,CAAC"}
1
+ {"version":3,"file":"ThreadListItemRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ThreadListItemRuntimeClient.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;aACN,qBAAqB;EA8C/C,CAAC"}
@@ -25,23 +25,23 @@ var ThreadListItemClient = resource(
25
25
  for (const unsub of unsubscribers) unsub();
26
26
  };
27
27
  }, [runtime, events]);
28
- const api = tapApi({
29
- getState: () => runtimeState,
30
- switchTo: runtime.switchTo,
31
- rename: runtime.rename,
32
- archive: runtime.archive,
33
- unarchive: runtime.unarchive,
34
- delete: runtime.delete,
35
- generateTitle: runtime.generateTitle,
36
- initialize: runtime.initialize,
37
- detach: runtime.detach,
38
- __internal_getRuntime: () => runtime
39
- });
40
- return {
41
- state: runtimeState,
42
- api,
43
- key: runtimeState.id
44
- };
28
+ return tapApi(
29
+ {
30
+ getState: () => runtimeState,
31
+ switchTo: runtime.switchTo,
32
+ rename: runtime.rename,
33
+ archive: runtime.archive,
34
+ unarchive: runtime.unarchive,
35
+ delete: runtime.delete,
36
+ generateTitle: runtime.generateTitle,
37
+ initialize: runtime.initialize,
38
+ detach: runtime.detach,
39
+ __internal_getRuntime: () => runtime
40
+ },
41
+ {
42
+ key: runtimeState.id
43
+ }
44
+ );
45
45
  }
46
46
  );
47
47
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/legacy-runtime/client/ThreadListItemRuntimeClient.ts"],"sourcesContent":["import { resource, tapEffect } from \"@assistant-ui/tap\";\nimport {\n ThreadListItemEventType,\n ThreadListItemRuntime,\n} from \"../runtime/ThreadListItemRuntime\";\nimport { Unsubscribe } from \"../../types\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { tapEvents } from \"../../client/EventContext\";\nimport { ThreadListItemClientApi } from \"../../client/types/ThreadListItem\";\n\nexport const ThreadListItemClient = resource(\n ({ runtime }: { runtime: ThreadListItemRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n const events = tapEvents();\n\n // Bind thread list item events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to thread list item events\n const threadListItemEvents: ThreadListItemEventType[] = [\n \"switched-to\",\n \"switched-away\",\n ];\n\n for (const event of threadListItemEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n events.emit(`thread-list-item.${event}`, {\n threadId: runtime.getState()!.id,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, events]);\n\n const api = tapApi<ThreadListItemClientApi>({\n getState: () => runtimeState,\n switchTo: runtime.switchTo,\n rename: runtime.rename,\n archive: runtime.archive,\n unarchive: runtime.unarchive,\n delete: runtime.delete,\n generateTitle: runtime.generateTitle,\n initialize: runtime.initialize,\n detach: runtime.detach,\n __internal_getRuntime: () => runtime,\n });\n\n return {\n state: runtimeState,\n api,\n key: runtimeState.id,\n };\n },\n);\n"],"mappings":";AAAA,SAAS,UAAU,iBAAiB;AAMpC,SAAS,cAAc;AACvB,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAGnB,IAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,QAAQ,MAA0C;AACnD,UAAM,eAAe,gBAAgB,OAAO;AAC5C,UAAM,SAAS,UAAU;AAGzB,cAAU,MAAM;AACd,YAAM,gBAA+B,CAAC;AAGtC,YAAM,uBAAkD;AAAA,QACtD;AAAA,QACA;AAAA,MACF;AAEA,iBAAW,SAAS,sBAAsB;AACxC,cAAM,cAAc,QAAQ,YAAY,OAAO,MAAM;AACnD,iBAAO,KAAK,oBAAoB,KAAK,IAAI;AAAA,YACvC,UAAU,QAAQ,SAAS,EAAG;AAAA,UAChC,CAAC;AAAA,QACH,CAAC;AACD,sBAAc,KAAK,WAAW;AAAA,MAChC;AAEA,aAAO,MAAM;AACX,mBAAW,SAAS,cAAe,OAAM;AAAA,MAC3C;AAAA,IACF,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,UAAM,MAAM,OAAgC;AAAA,MAC1C,UAAU,MAAM;AAAA,MAChB,UAAU,QAAQ;AAAA,MAClB,QAAQ,QAAQ;AAAA,MAChB,SAAS,QAAQ;AAAA,MACjB,WAAW,QAAQ;AAAA,MACnB,QAAQ,QAAQ;AAAA,MAChB,eAAe,QAAQ;AAAA,MACvB,YAAY,QAAQ;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,uBAAuB,MAAM;AAAA,IAC/B,CAAC;AAED,WAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA,MACA,KAAK,aAAa;AAAA,IACpB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/legacy-runtime/client/ThreadListItemRuntimeClient.ts"],"sourcesContent":["import { resource, tapEffect } from \"@assistant-ui/tap\";\nimport {\n ThreadListItemEventType,\n ThreadListItemRuntime,\n} from \"../runtime/ThreadListItemRuntime\";\nimport { Unsubscribe } from \"../../types\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { tapEvents } from \"../../client/EventContext\";\nimport { ThreadListItemClientApi } from \"../../client/types/ThreadListItem\";\n\nexport const ThreadListItemClient = resource(\n ({ runtime }: { runtime: ThreadListItemRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n const events = tapEvents();\n\n // Bind thread list item events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to thread list item events\n const threadListItemEvents: ThreadListItemEventType[] = [\n \"switched-to\",\n \"switched-away\",\n ];\n\n for (const event of threadListItemEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n events.emit(`thread-list-item.${event}`, {\n threadId: runtime.getState()!.id,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime, events]);\n\n return tapApi<ThreadListItemClientApi>(\n {\n getState: () => runtimeState,\n switchTo: runtime.switchTo,\n rename: runtime.rename,\n archive: runtime.archive,\n unarchive: runtime.unarchive,\n delete: runtime.delete,\n generateTitle: runtime.generateTitle,\n initialize: runtime.initialize,\n detach: runtime.detach,\n __internal_getRuntime: () => runtime,\n },\n {\n key: runtimeState.id,\n },\n );\n },\n);\n"],"mappings":";AAAA,SAAS,UAAU,iBAAiB;AAMpC,SAAS,cAAc;AACvB,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAGnB,IAAM,uBAAuB;AAAA,EAClC,CAAC,EAAE,QAAQ,MAA0C;AACnD,UAAM,eAAe,gBAAgB,OAAO;AAC5C,UAAM,SAAS,UAAU;AAGzB,cAAU,MAAM;AACd,YAAM,gBAA+B,CAAC;AAGtC,YAAM,uBAAkD;AAAA,QACtD;AAAA,QACA;AAAA,MACF;AAEA,iBAAW,SAAS,sBAAsB;AACxC,cAAM,cAAc,QAAQ,YAAY,OAAO,MAAM;AACnD,iBAAO,KAAK,oBAAoB,KAAK,IAAI;AAAA,YACvC,UAAU,QAAQ,SAAS,EAAG;AAAA,UAChC,CAAC;AAAA,QACH,CAAC;AACD,sBAAc,KAAK,WAAW;AAAA,MAChC;AAEA,aAAO,MAAM;AACX,mBAAW,SAAS,cAAe,OAAM;AAAA,MAC3C;AAAA,IACF,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,WAAO;AAAA,MACL;AAAA,QACE,UAAU,MAAM;AAAA,QAChB,UAAU,QAAQ;AAAA,QAClB,QAAQ,QAAQ;AAAA,QAChB,SAAS,QAAQ;AAAA,QACjB,WAAW,QAAQ;AAAA,QACnB,QAAQ,QAAQ;AAAA,QAChB,eAAe,QAAQ;AAAA,QACvB,YAAY,QAAQ;AAAA,QACpB,QAAQ,QAAQ;AAAA,QAChB,uBAAuB,MAAM;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,KAAK,aAAa;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1,7 +1,8 @@
1
1
  import { ThreadListRuntime } from "../runtime/ThreadListRuntime";
2
- import { ThreadListClientState, ThreadListClientApi } from "../../client/types/ThreadList";
2
+ import { ThreadListClientApi } from "../../client/types/ThreadList";
3
3
  export declare const ThreadListClient: import("@assistant-ui/tap").ResourceElementConstructor<{
4
- state: ThreadListClientState;
4
+ key: string | undefined;
5
+ state: any;
5
6
  api: ThreadListClientApi;
6
7
  }, {
7
8
  runtime: ThreadListRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadListRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ThreadListRuntimeClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AAgBvC,eAAO,MAAM,gBAAgB;;;;aACF,iBAAiB;EA8D3C,CAAC"}
1
+ {"version":3,"file":"ThreadListRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ThreadListRuntimeClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,OAAO,EAEL,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AAgBvC,eAAO,MAAM,gBAAgB;;;;;aACF,iBAAiB;EAyD3C,CAAC"}
@@ -42,7 +42,7 @@ var ThreadListClient = resource(
42
42
  main: main.state
43
43
  };
44
44
  }, [runtimeState, threadItems.state, main.state]);
45
- const api = tapApi({
45
+ return tapApi({
46
46
  getState: () => state,
47
47
  thread: () => main.api,
48
48
  item: (threadIdOrOptions) => {
@@ -63,10 +63,6 @@ var ThreadListClient = resource(
63
63
  runtime.switchToNewThread();
64
64
  }
65
65
  });
66
- return {
67
- state,
68
- api
69
- };
70
66
  }
71
67
  );
72
68
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/legacy-runtime/client/ThreadListRuntimeClient.ts"],"sourcesContent":["import { tapApi } from \"../../utils/tap-store\";\nimport { resource, tapInlineResource, tapMemo } from \"@assistant-ui/tap\";\nimport { ThreadListRuntime } from \"../runtime/ThreadListRuntime\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { ThreadListItemClient } from \"./ThreadListItemRuntimeClient\";\nimport { ThreadClient } from \"./ThreadRuntimeClient\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport {\n ThreadListClientState,\n ThreadListClientApi,\n} from \"../../client/types/ThreadList\";\n\nconst ThreadListItemClientById = resource(\n ({ runtime, id }: { runtime: ThreadListRuntime; id: string }) => {\n const threadListItemRuntime = tapMemo(\n () => runtime.getItemById(id),\n [runtime, id],\n );\n return tapInlineResource(\n ThreadListItemClient({\n runtime: threadListItemRuntime,\n }),\n );\n },\n);\n\nexport const ThreadListClient = resource(\n ({ runtime }: { runtime: ThreadListRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const main = tapInlineResource(\n ThreadClient({\n runtime: runtime.main,\n }),\n );\n\n const threadItems = tapLookupResources(\n Object.keys(runtimeState.threadItems).map((id) =>\n ThreadListItemClientById({ runtime, id }, { key: id }),\n ),\n );\n\n const state = tapMemo<ThreadListClientState>(() => {\n return {\n mainThreadId: runtimeState.mainThreadId,\n newThreadId: runtimeState.newThread ?? null,\n isLoading: runtimeState.isLoading,\n threadIds: runtimeState.threads,\n archivedThreadIds: runtimeState.archivedThreads,\n threadItems: threadItems.state,\n\n main: main.state,\n };\n }, [runtimeState, threadItems.state, main.state]);\n\n const api = tapApi<ThreadListClientApi>({\n getState: () => state,\n\n thread: () => main.api,\n\n item: (threadIdOrOptions) => {\n if (threadIdOrOptions === \"main\") {\n return threadItems.api({ key: state.mainThreadId });\n }\n\n if (\"id\" in threadIdOrOptions) {\n return threadItems.api({ key: threadIdOrOptions.id });\n }\n\n const { index, archived = false } = threadIdOrOptions;\n const id = archived\n ? state.archivedThreadIds[index]!\n : state.threadIds[index]!;\n return threadItems.api({ key: id });\n },\n\n switchToThread: (threadId) => {\n runtime.switchToThread(threadId);\n },\n switchToNewThread: () => {\n runtime.switchToNewThread();\n },\n });\n\n return {\n state,\n api,\n };\n },\n);\n"],"mappings":";AAAA,SAAS,cAAc;AACvB,SAAS,UAAU,mBAAmB,eAAe;AAErD,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AACrC,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAMnC,IAAM,2BAA2B;AAAA,EAC/B,CAAC,EAAE,SAAS,GAAG,MAAkD;AAC/D,UAAM,wBAAwB;AAAA,MAC5B,MAAM,QAAQ,YAAY,EAAE;AAAA,MAC5B,CAAC,SAAS,EAAE;AAAA,IACd;AACA,WAAO;AAAA,MACL,qBAAqB;AAAA,QACnB,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,IAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,QAAQ,MAAsC;AAC/C,UAAM,eAAe,gBAAgB,OAAO;AAE5C,UAAM,OAAO;AAAA,MACX,aAAa;AAAA,QACX,SAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAEA,UAAM,cAAc;AAAA,MAClB,OAAO,KAAK,aAAa,WAAW,EAAE;AAAA,QAAI,CAAC,OACzC,yBAAyB,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC;AAAA,MACvD;AAAA,IACF;AAEA,UAAM,QAAQ,QAA+B,MAAM;AACjD,aAAO;AAAA,QACL,cAAc,aAAa;AAAA,QAC3B,aAAa,aAAa,aAAa;AAAA,QACvC,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,mBAAmB,aAAa;AAAA,QAChC,aAAa,YAAY;AAAA,QAEzB,MAAM,KAAK;AAAA,MACb;AAAA,IACF,GAAG,CAAC,cAAc,YAAY,OAAO,KAAK,KAAK,CAAC;AAEhD,UAAM,MAAM,OAA4B;AAAA,MACtC,UAAU,MAAM;AAAA,MAEhB,QAAQ,MAAM,KAAK;AAAA,MAEnB,MAAM,CAAC,sBAAsB;AAC3B,YAAI,sBAAsB,QAAQ;AAChC,iBAAO,YAAY,IAAI,EAAE,KAAK,MAAM,aAAa,CAAC;AAAA,QACpD;AAEA,YAAI,QAAQ,mBAAmB;AAC7B,iBAAO,YAAY,IAAI,EAAE,KAAK,kBAAkB,GAAG,CAAC;AAAA,QACtD;AAEA,cAAM,EAAE,OAAO,WAAW,MAAM,IAAI;AACpC,cAAM,KAAK,WACP,MAAM,kBAAkB,KAAK,IAC7B,MAAM,UAAU,KAAK;AACzB,eAAO,YAAY,IAAI,EAAE,KAAK,GAAG,CAAC;AAAA,MACpC;AAAA,MAEA,gBAAgB,CAAC,aAAa;AAC5B,gBAAQ,eAAe,QAAQ;AAAA,MACjC;AAAA,MACA,mBAAmB,MAAM;AACvB,gBAAQ,kBAAkB;AAAA,MAC5B;AAAA,IACF,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/legacy-runtime/client/ThreadListRuntimeClient.ts"],"sourcesContent":["import { tapApi } from \"../../utils/tap-store\";\nimport { resource, tapInlineResource, tapMemo } from \"@assistant-ui/tap\";\nimport { ThreadListRuntime } from \"../runtime/ThreadListRuntime\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { ThreadListItemClient } from \"./ThreadListItemRuntimeClient\";\nimport { ThreadClient } from \"./ThreadRuntimeClient\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport {\n ThreadListClientState,\n ThreadListClientApi,\n} from \"../../client/types/ThreadList\";\n\nconst ThreadListItemClientById = resource(\n ({ runtime, id }: { runtime: ThreadListRuntime; id: string }) => {\n const threadListItemRuntime = tapMemo(\n () => runtime.getItemById(id),\n [runtime, id],\n );\n return tapInlineResource(\n ThreadListItemClient({\n runtime: threadListItemRuntime,\n }),\n );\n },\n);\n\nexport const ThreadListClient = resource(\n ({ runtime }: { runtime: ThreadListRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const main = tapInlineResource(\n ThreadClient({\n runtime: runtime.main,\n }),\n );\n\n const threadItems = tapLookupResources(\n Object.keys(runtimeState.threadItems).map((id) =>\n ThreadListItemClientById({ runtime, id }, { key: id }),\n ),\n );\n\n const state = tapMemo<ThreadListClientState>(() => {\n return {\n mainThreadId: runtimeState.mainThreadId,\n newThreadId: runtimeState.newThread ?? null,\n isLoading: runtimeState.isLoading,\n threadIds: runtimeState.threads,\n archivedThreadIds: runtimeState.archivedThreads,\n threadItems: threadItems.state,\n\n main: main.state,\n };\n }, [runtimeState, threadItems.state, main.state]);\n\n return tapApi<ThreadListClientApi>({\n getState: () => state,\n\n thread: () => main.api,\n\n item: (threadIdOrOptions) => {\n if (threadIdOrOptions === \"main\") {\n return threadItems.api({ key: state.mainThreadId });\n }\n\n if (\"id\" in threadIdOrOptions) {\n return threadItems.api({ key: threadIdOrOptions.id });\n }\n\n const { index, archived = false } = threadIdOrOptions;\n const id = archived\n ? state.archivedThreadIds[index]!\n : state.threadIds[index]!;\n return threadItems.api({ key: id });\n },\n\n switchToThread: (threadId) => {\n runtime.switchToThread(threadId);\n },\n switchToNewThread: () => {\n runtime.switchToNewThread();\n },\n });\n },\n);\n"],"mappings":";AAAA,SAAS,cAAc;AACvB,SAAS,UAAU,mBAAmB,eAAe;AAErD,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AACrC,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AAMnC,IAAM,2BAA2B;AAAA,EAC/B,CAAC,EAAE,SAAS,GAAG,MAAkD;AAC/D,UAAM,wBAAwB;AAAA,MAC5B,MAAM,QAAQ,YAAY,EAAE;AAAA,MAC5B,CAAC,SAAS,EAAE;AAAA,IACd;AACA,WAAO;AAAA,MACL,qBAAqB;AAAA,QACnB,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,IAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,QAAQ,MAAsC;AAC/C,UAAM,eAAe,gBAAgB,OAAO;AAE5C,UAAM,OAAO;AAAA,MACX,aAAa;AAAA,QACX,SAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAEA,UAAM,cAAc;AAAA,MAClB,OAAO,KAAK,aAAa,WAAW,EAAE;AAAA,QAAI,CAAC,OACzC,yBAAyB,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC;AAAA,MACvD;AAAA,IACF;AAEA,UAAM,QAAQ,QAA+B,MAAM;AACjD,aAAO;AAAA,QACL,cAAc,aAAa;AAAA,QAC3B,aAAa,aAAa,aAAa;AAAA,QACvC,WAAW,aAAa;AAAA,QACxB,WAAW,aAAa;AAAA,QACxB,mBAAmB,aAAa;AAAA,QAChC,aAAa,YAAY;AAAA,QAEzB,MAAM,KAAK;AAAA,MACb;AAAA,IACF,GAAG,CAAC,cAAc,YAAY,OAAO,KAAK,KAAK,CAAC;AAEhD,WAAO,OAA4B;AAAA,MACjC,UAAU,MAAM;AAAA,MAEhB,QAAQ,MAAM,KAAK;AAAA,MAEnB,MAAM,CAAC,sBAAsB;AAC3B,YAAI,sBAAsB,QAAQ;AAChC,iBAAO,YAAY,IAAI,EAAE,KAAK,MAAM,aAAa,CAAC;AAAA,QACpD;AAEA,YAAI,QAAQ,mBAAmB;AAC7B,iBAAO,YAAY,IAAI,EAAE,KAAK,kBAAkB,GAAG,CAAC;AAAA,QACtD;AAEA,cAAM,EAAE,OAAO,WAAW,MAAM,IAAI;AACpC,cAAM,KAAK,WACP,MAAM,kBAAkB,KAAK,IAC7B,MAAM,UAAU,KAAK;AACzB,eAAO,YAAY,IAAI,EAAE,KAAK,GAAG,CAAC;AAAA,MACpC;AAAA,MAEA,gBAAgB,CAAC,aAAa;AAC5B,gBAAQ,eAAe,QAAQ;AAAA,MACjC;AAAA,MACA,mBAAmB,MAAM;AACvB,gBAAQ,kBAAkB;AAAA,MAC5B;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -1,7 +1,8 @@
1
1
  import { ThreadRuntime } from "../runtime/ThreadRuntime";
2
- import { ThreadClientState, ThreadClientApi } from "../../client/types/Thread";
2
+ import { ThreadClientApi } from "../../client/types/Thread";
3
3
  export declare const ThreadClient: import("@assistant-ui/tap").ResourceElementConstructor<{
4
- state: ThreadClientState;
4
+ key: string | undefined;
5
+ state: any;
5
6
  api: ThreadClientApi;
6
7
  }, {
7
8
  runtime: ThreadRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ThreadRuntimeClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAezD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuB/E,eAAO,MAAM,YAAY;;;;aACE,aAAa;EAwGvC,CAAC"}
1
+ {"version":3,"file":"ThreadRuntimeClient.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/client/ThreadRuntimeClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAezD,OAAO,EAAqB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuB/E,eAAO,MAAM,YAAY;;;;;aACE,aAAa;EAmGvC,CAAC"}
@@ -87,7 +87,7 @@ var ThreadClient = resource(
87
87
  messages: messages.state
88
88
  };
89
89
  }, [runtimeState, messages, composer.state]);
90
- const api = tapApi({
90
+ return tapApi({
91
91
  getState: () => state,
92
92
  composer: composer.api,
93
93
  append: runtime.append,
@@ -108,10 +108,6 @@ var ThreadClient = resource(
108
108
  },
109
109
  __internal_getRuntime: () => runtime
110
110
  });
111
- return {
112
- state,
113
- api
114
- };
115
111
  }
116
112
  );
117
113
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/legacy-runtime/client/ThreadRuntimeClient.ts"],"sourcesContent":["import { ThreadRuntimeEventType } from \"../runtime-cores/core/ThreadRuntimeCore\";\nimport { ThreadRuntime } from \"../runtime/ThreadRuntime\";\nimport {\n resource,\n tapInlineResource,\n tapMemo,\n tapEffect,\n RefObject,\n} from \"@assistant-ui/tap\";\nimport { ComposerClient } from \"./ComposerRuntimeClient\";\nimport { MessageClient } from \"./MessageRuntimeClient\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport { Unsubscribe } from \"../../types\";\nimport { tapEvents } from \"../../client/EventContext\";\nimport { ThreadClientState, ThreadClientApi } from \"../../client/types/Thread\";\n\nconst MessageClientById = resource(\n ({\n runtime,\n id,\n threadIdRef,\n }: {\n runtime: ThreadRuntime;\n id: string;\n threadIdRef: RefObject<string>;\n }) => {\n const messageRuntime = tapMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return tapInlineResource(\n MessageClient({ runtime: messageRuntime, threadIdRef }),\n );\n },\n);\n\nexport const ThreadClient = resource(\n ({ runtime }: { runtime: ThreadRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const events = tapEvents();\n\n // Bind thread events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to thread events\n const threadEvents: ThreadRuntimeEventType[] = [\n \"run-start\",\n \"run-end\",\n \"initialize\",\n \"model-context-update\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n events.emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime]);\n\n const threadIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState()!.threadId;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n }),\n );\n\n const messages = tapLookupResources(\n runtimeState.messages.map((m) =>\n MessageClientById(\n { runtime: runtime, id: m.id, threadIdRef },\n { key: m.id },\n ),\n ),\n );\n\n const state = tapMemo<ThreadClientState>(() => {\n return {\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n\n composer: composer.state,\n messages: messages.state,\n };\n }, [runtimeState, messages, composer.state]);\n\n const api = tapApi<ThreadClientApi>({\n getState: () => state,\n\n composer: composer.api,\n\n append: runtime.append,\n startRun: runtime.startRun,\n unstable_resumeRun: runtime.unstable_resumeRun,\n cancelRun: runtime.cancelRun,\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.api({ key: selector.id });\n } else {\n return messages.api(selector);\n }\n },\n\n __internal_getRuntime: () => runtime,\n });\n\n return {\n state,\n api,\n };\n },\n);\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/legacy-runtime/client/ThreadRuntimeClient.ts"],"sourcesContent":["import { ThreadRuntimeEventType } from \"../runtime-cores/core/ThreadRuntimeCore\";\nimport { ThreadRuntime } from \"../runtime/ThreadRuntime\";\nimport {\n resource,\n tapInlineResource,\n tapMemo,\n tapEffect,\n RefObject,\n} from \"@assistant-ui/tap\";\nimport { ComposerClient } from \"./ComposerRuntimeClient\";\nimport { MessageClient } from \"./MessageRuntimeClient\";\nimport { tapSubscribable } from \"../util-hooks/tapSubscribable\";\nimport { tapApi } from \"../../utils/tap-store\";\nimport { tapLookupResources } from \"../../client/util-hooks/tapLookupResources\";\nimport { Unsubscribe } from \"../../types\";\nimport { tapEvents } from \"../../client/EventContext\";\nimport { ThreadClientState, ThreadClientApi } from \"../../client/types/Thread\";\n\nconst MessageClientById = resource(\n ({\n runtime,\n id,\n threadIdRef,\n }: {\n runtime: ThreadRuntime;\n id: string;\n threadIdRef: RefObject<string>;\n }) => {\n const messageRuntime = tapMemo(\n () => runtime.getMessageById(id),\n [runtime, id],\n );\n\n return tapInlineResource(\n MessageClient({ runtime: messageRuntime, threadIdRef }),\n );\n },\n);\n\nexport const ThreadClient = resource(\n ({ runtime }: { runtime: ThreadRuntime }) => {\n const runtimeState = tapSubscribable(runtime);\n\n const events = tapEvents();\n\n // Bind thread events to event manager\n tapEffect(() => {\n const unsubscribers: Unsubscribe[] = [];\n\n // Subscribe to thread events\n const threadEvents: ThreadRuntimeEventType[] = [\n \"run-start\",\n \"run-end\",\n \"initialize\",\n \"model-context-update\",\n ];\n\n for (const event of threadEvents) {\n const unsubscribe = runtime.unstable_on(event, () => {\n const threadId = runtime.getState()?.threadId || \"unknown\";\n events.emit(`thread.${event}`, {\n threadId,\n });\n });\n unsubscribers.push(unsubscribe);\n }\n\n return () => {\n for (const unsub of unsubscribers) unsub();\n };\n }, [runtime]);\n\n const threadIdRef = tapMemo(\n () => ({\n get current() {\n return runtime.getState()!.threadId;\n },\n }),\n [runtime],\n );\n\n const composer = tapInlineResource(\n ComposerClient({\n runtime: runtime.composer,\n threadIdRef,\n }),\n );\n\n const messages = tapLookupResources(\n runtimeState.messages.map((m) =>\n MessageClientById(\n { runtime: runtime, id: m.id, threadIdRef },\n { key: m.id },\n ),\n ),\n );\n\n const state = tapMemo<ThreadClientState>(() => {\n return {\n isDisabled: runtimeState.isDisabled,\n isLoading: runtimeState.isLoading,\n isRunning: runtimeState.isRunning,\n capabilities: runtimeState.capabilities,\n state: runtimeState.state,\n suggestions: runtimeState.suggestions,\n extras: runtimeState.extras,\n speech: runtimeState.speech,\n\n composer: composer.state,\n messages: messages.state,\n };\n }, [runtimeState, messages, composer.state]);\n\n return tapApi<ThreadClientApi>({\n getState: () => state,\n\n composer: composer.api,\n\n append: runtime.append,\n startRun: runtime.startRun,\n unstable_resumeRun: runtime.unstable_resumeRun,\n cancelRun: runtime.cancelRun,\n getModelContext: runtime.getModelContext,\n export: runtime.export,\n import: runtime.import,\n reset: runtime.reset,\n stopSpeaking: runtime.stopSpeaking,\n\n message: (selector) => {\n if (\"id\" in selector) {\n return messages.api({ key: selector.id });\n } else {\n return messages.api(selector);\n }\n },\n\n __internal_getRuntime: () => runtime,\n });\n },\n);\n"],"mappings":"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","names":[]}
@@ -17,7 +17,7 @@ export type CreateStartRunConfig = {
17
17
  runConfig?: RunConfig | undefined;
18
18
  };
19
19
  export type CreateResumeRunConfig = CreateStartRunConfig & {
20
- stream: (options: ChatModelRunOptions) => AsyncGenerator<ChatModelRunResult, void, unknown>;
20
+ stream?: (options: ChatModelRunOptions) => AsyncGenerator<ChatModelRunResult, void, unknown>;
21
21
  };
22
22
  export type CreateAppendMessage = string | {
23
23
  parentId?: string | null | undefined;
@@ -130,6 +130,11 @@ export type ThreadRuntime = {
130
130
  * @param config The configuration for resuming the run
131
131
  **/
132
132
  unstable_resumeRun(config: CreateResumeRunConfig): void;
133
+ /**
134
+ * Load external state into the thread.
135
+ * @param state The state to load into the thread
136
+ */
137
+ unstable_loadExternalState(state: any): void;
133
138
  subscribe(callback: () => void): Unsubscribe;
134
139
  cancelRun(): void;
135
140
  getModelContext(): ModelContext;
@@ -210,6 +215,7 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
210
215
  export(): ExportedMessageRepository;
211
216
  reset(initialMessages?: readonly ThreadMessageLike[]): void;
212
217
  unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;
218
+ unstable_loadExternalState: (state: any) => void;
213
219
  }>;
214
220
  } & {
215
221
  outerSubscribe(callback: () => void): Unsubscribe;
@@ -227,6 +233,7 @@ export declare class ThreadRuntimeImpl implements ThreadRuntime {
227
233
  getModelConfig(): ModelContext;
228
234
  startRun(configOrParentId: string | null | CreateStartRunConfig): void;
229
235
  unstable_resumeRun(config: CreateResumeRunConfig): void;
236
+ unstable_loadExternalState(state: any): void;
230
237
  cancelRun(): void;
231
238
  stopSpeaking(): void;
232
239
  export(): ExportedMessageRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadRuntime.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/runtime/ThreadRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThreadRuntime.d.ts","sourceRoot":"","sources":["../../../src/legacy-runtime/runtime/ThreadRuntime.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ var toResumeRunConfig = (message) => {
15
15
  parentId: message.parentId ?? null,
16
16
  sourceId: message.sourceId ?? null,
17
17
  runConfig: message.runConfig ?? {},
18
- stream: message.stream
18
+ ...message.stream ? { stream: message.stream } : {}
19
19
  };
20
20
  };
21
21
  var toStartRunConfig = (message) => {
@@ -113,6 +113,7 @@ var ThreadRuntimeImpl = class {
113
113
  __internal_bindMethods() {
114
114
  this.append = this.append.bind(this);
115
115
  this.unstable_resumeRun = this.unstable_resumeRun.bind(this);
116
+ this.unstable_loadExternalState = this.unstable_loadExternalState.bind(this);
116
117
  this.startRun = this.startRun.bind(this);
117
118
  this.cancelRun = this.cancelRun.bind(this);
118
119
  this.stopSpeaking = this.stopSpeaking.bind(this);
@@ -152,6 +153,9 @@ var ThreadRuntimeImpl = class {
152
153
  unstable_resumeRun(config) {
153
154
  return this._threadBinding.getState().resumeRun(toResumeRunConfig(config));
154
155
  }
156
+ unstable_loadExternalState(state) {
157
+ this._threadBinding.getState().unstable_loadExternalState(state);
158
+ }
155
159
  cancelRun() {
156
160
  this._threadBinding.getState().cancelRun();
157
161
  }