@assistant-ui/react 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (826) hide show
  1. package/dist/api/AssistantRuntime.d.ts +64 -0
  2. package/dist/api/AssistantRuntime.d.ts.map +1 -0
  3. package/dist/api/AssistantRuntime.js +5 -4
  4. package/dist/api/AssistantRuntime.js.map +1 -1
  5. package/dist/api/AttachmentRuntime.d.ts +63 -0
  6. package/dist/api/AttachmentRuntime.d.ts.map +1 -0
  7. package/dist/api/AttachmentRuntime.js +11 -10
  8. package/dist/api/AttachmentRuntime.js.map +1 -1
  9. package/dist/api/ComposerRuntime.d.ts +114 -0
  10. package/dist/api/ComposerRuntime.d.ts.map +1 -0
  11. package/dist/api/ComposerRuntime.js +16 -15
  12. package/dist/api/ComposerRuntime.js.map +1 -1
  13. package/dist/api/ContentPartRuntime.d.ts +33 -0
  14. package/dist/api/ContentPartRuntime.d.ts.map +1 -0
  15. package/dist/api/ContentPartRuntime.js +3 -2
  16. package/dist/api/ContentPartRuntime.js.map +1 -1
  17. package/dist/api/MessageRuntime.d.ts +80 -0
  18. package/dist/api/MessageRuntime.d.ts.map +1 -0
  19. package/dist/api/MessageRuntime.js +14 -13
  20. package/dist/api/MessageRuntime.js.map +1 -1
  21. package/dist/api/RuntimePathTypes.d.ts +64 -0
  22. package/dist/api/RuntimePathTypes.d.ts.map +1 -0
  23. package/dist/api/ThreadListItemRuntime.d.ts +55 -0
  24. package/dist/api/ThreadListItemRuntime.d.ts.map +1 -0
  25. package/dist/api/ThreadListItemRuntime.js +3 -2
  26. package/dist/api/ThreadListItemRuntime.js.map +1 -1
  27. package/dist/api/ThreadListRuntime.d.ts +42 -0
  28. package/dist/api/ThreadListRuntime.d.ts.map +1 -0
  29. package/dist/api/ThreadListRuntime.js +11 -10
  30. package/dist/api/ThreadListRuntime.js.map +1 -1
  31. package/dist/api/ThreadRuntime.d.ts +216 -0
  32. package/dist/api/ThreadRuntime.d.ts.map +1 -0
  33. package/dist/api/ThreadRuntime.js +14 -13
  34. package/dist/api/ThreadRuntime.js.map +1 -1
  35. package/dist/api/index.d.ts +9 -0
  36. package/dist/api/index.d.ts.map +1 -0
  37. package/dist/api/subscribable/BaseSubject.d.ts +11 -0
  38. package/dist/api/subscribable/BaseSubject.d.ts.map +1 -0
  39. package/dist/api/subscribable/BaseSubject.js +3 -2
  40. package/dist/api/subscribable/BaseSubject.js.map +1 -1
  41. package/dist/api/subscribable/EventSubscriptionSubject.d.ts +13 -0
  42. package/dist/api/subscribable/EventSubscriptionSubject.d.ts.map +1 -0
  43. package/dist/api/subscribable/EventSubscriptionSubject.js +4 -3
  44. package/dist/api/subscribable/EventSubscriptionSubject.js.map +1 -1
  45. package/dist/api/subscribable/LazyMemoizeSubject.d.ts +13 -0
  46. package/dist/api/subscribable/LazyMemoizeSubject.d.ts.map +1 -0
  47. package/dist/api/subscribable/LazyMemoizeSubject.js +5 -4
  48. package/dist/api/subscribable/LazyMemoizeSubject.js.map +1 -1
  49. package/dist/api/subscribable/NestedSubscriptionSubject.d.ts +12 -0
  50. package/dist/api/subscribable/NestedSubscriptionSubject.d.ts.map +1 -0
  51. package/dist/api/subscribable/NestedSubscriptionSubject.js +4 -3
  52. package/dist/api/subscribable/NestedSubscriptionSubject.js.map +1 -1
  53. package/dist/api/subscribable/SKIP_UPDATE.d.ts +3 -0
  54. package/dist/api/subscribable/SKIP_UPDATE.d.ts.map +1 -0
  55. package/dist/api/subscribable/SKIP_UPDATE.js +2 -1
  56. package/dist/api/subscribable/SKIP_UPDATE.js.map +1 -1
  57. package/dist/api/subscribable/ShallowMemoizeSubject.d.ts +13 -0
  58. package/dist/api/subscribable/ShallowMemoizeSubject.d.ts.map +1 -0
  59. package/dist/api/subscribable/ShallowMemoizeSubject.js +6 -5
  60. package/dist/api/subscribable/ShallowMemoizeSubject.js.map +1 -1
  61. package/dist/api/subscribable/Subscribable.d.ts +16 -0
  62. package/dist/api/subscribable/Subscribable.d.ts.map +1 -0
  63. package/dist/api/subscribable/shallowEqual.d.ts +2 -0
  64. package/dist/api/subscribable/shallowEqual.d.ts.map +1 -0
  65. package/dist/api/subscribable/shallowEqual.js +1 -0
  66. package/dist/api/subscribable/shallowEqual.js.map +1 -1
  67. package/dist/cloud/AssistantCloud.d.ts +13 -0
  68. package/dist/cloud/AssistantCloud.d.ts.map +1 -0
  69. package/dist/cloud/AssistantCloud.js +7 -6
  70. package/dist/cloud/AssistantCloud.js.map +1 -1
  71. package/dist/cloud/AssistantCloudAPI.d.ts +27 -0
  72. package/dist/cloud/AssistantCloudAPI.d.ts.map +1 -0
  73. package/dist/cloud/AssistantCloudAPI.js +6 -5
  74. package/dist/cloud/AssistantCloudAPI.js.map +1 -1
  75. package/dist/cloud/AssistantCloudAuthStrategy.d.ts +30 -0
  76. package/dist/cloud/AssistantCloudAuthStrategy.d.ts.map +1 -0
  77. package/dist/cloud/AssistantCloudAuthStrategy.js +9 -8
  78. package/dist/cloud/AssistantCloudAuthStrategy.js.map +1 -1
  79. package/dist/cloud/AssistantCloudAuthTokens.d.ts +11 -0
  80. package/dist/cloud/AssistantCloudAuthTokens.d.ts.map +1 -0
  81. package/dist/cloud/AssistantCloudAuthTokens.js +3 -2
  82. package/dist/cloud/AssistantCloudAuthTokens.js.map +1 -1
  83. package/dist/cloud/AssistantCloudRuns.d.ts +15 -0
  84. package/dist/cloud/AssistantCloudRuns.d.ts.map +1 -0
  85. package/dist/cloud/AssistantCloudRuns.js +3 -2
  86. package/dist/cloud/AssistantCloudRuns.js.map +1 -1
  87. package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts +5 -0
  88. package/dist/cloud/AssistantCloudThreadHistoryAdapter.d.ts.map +1 -0
  89. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +6 -5
  90. package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
  91. package/dist/cloud/AssistantCloudThreadMessages.d.ts +30 -0
  92. package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +1 -0
  93. package/dist/cloud/AssistantCloudThreadMessages.js +3 -2
  94. package/dist/cloud/AssistantCloudThreadMessages.js.map +1 -1
  95. package/dist/cloud/AssistantCloudThreads.d.ts +48 -0
  96. package/dist/cloud/AssistantCloudThreads.d.ts.map +1 -0
  97. package/dist/cloud/AssistantCloudThreads.js +4 -3
  98. package/dist/cloud/AssistantCloudThreads.js.map +1 -1
  99. package/dist/cloud/auiV0.d.ts +54 -0
  100. package/dist/cloud/auiV0.d.ts.map +1 -0
  101. package/dist/cloud/auiV0.js +5 -4
  102. package/dist/cloud/auiV0.js.map +1 -1
  103. package/dist/cloud/index.d.ts +3 -0
  104. package/dist/cloud/index.d.ts.map +1 -0
  105. package/dist/cloud/index.js +3 -2
  106. package/dist/cloud/index.js.map +1 -1
  107. package/dist/cloud/useCloudThreadListRuntime.d.ts +14 -0
  108. package/dist/cloud/useCloudThreadListRuntime.d.ts.map +1 -0
  109. package/dist/cloud/useCloudThreadListRuntime.js +5 -3
  110. package/dist/cloud/useCloudThreadListRuntime.js.map +1 -1
  111. package/dist/context/ReadonlyStore.d.ts +4 -0
  112. package/dist/context/ReadonlyStore.d.ts.map +1 -0
  113. package/dist/context/ReadonlyStore.js +2 -1
  114. package/dist/context/ReadonlyStore.js.map +1 -1
  115. package/dist/context/index.d.ts +4 -0
  116. package/dist/context/index.d.ts.map +1 -0
  117. package/dist/context/index.js +4 -3
  118. package/dist/context/index.js.map +1 -1
  119. package/dist/context/providers/AssistantRuntimeProvider.d.ts +13 -0
  120. package/dist/context/providers/AssistantRuntimeProvider.d.ts.map +1 -0
  121. package/dist/context/providers/AssistantRuntimeProvider.js +13 -11
  122. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  123. package/dist/context/providers/AttachmentRuntimeProvider.d.ts +9 -0
  124. package/dist/context/providers/AttachmentRuntimeProvider.d.ts.map +1 -0
  125. package/dist/context/providers/AttachmentRuntimeProvider.js +8 -6
  126. package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
  127. package/dist/context/providers/ContentPartRuntimeProvider.d.ts +9 -0
  128. package/dist/context/providers/ContentPartRuntimeProvider.d.ts.map +1 -0
  129. package/dist/context/providers/ContentPartRuntimeProvider.js +8 -6
  130. package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
  131. package/dist/context/providers/MessageRuntimeProvider.d.ts +9 -0
  132. package/dist/context/providers/MessageRuntimeProvider.d.ts.map +1 -0
  133. package/dist/context/providers/MessageRuntimeProvider.js +10 -8
  134. package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
  135. package/dist/context/providers/TextContentPartProvider.d.ts +9 -0
  136. package/dist/context/providers/TextContentPartProvider.d.ts.map +1 -0
  137. package/dist/context/providers/TextContentPartProvider.js +10 -8
  138. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  139. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts +9 -0
  140. package/dist/context/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
  141. package/dist/context/providers/ThreadListItemRuntimeProvider.js +8 -6
  142. package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -1
  143. package/dist/context/providers/ThreadRuntimeProvider.d.ts +10 -0
  144. package/dist/context/providers/ThreadRuntimeProvider.d.ts.map +1 -0
  145. package/dist/context/providers/ThreadRuntimeProvider.js +10 -8
  146. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  147. package/dist/context/providers/ThreadViewportProvider.d.ts +3 -0
  148. package/dist/context/providers/ThreadViewportProvider.d.ts.map +1 -0
  149. package/dist/context/providers/ThreadViewportProvider.js +8 -6
  150. package/dist/context/providers/ThreadViewportProvider.js.map +1 -1
  151. package/dist/context/providers/index.d.ts +3 -0
  152. package/dist/context/providers/index.d.ts.map +1 -0
  153. package/dist/context/providers/index.js +3 -2
  154. package/dist/context/providers/index.js.map +1 -1
  155. package/dist/context/react/AssistantContext.d.ts +62 -0
  156. package/dist/context/react/AssistantContext.d.ts.map +1 -0
  157. package/dist/context/react/AssistantContext.js +10 -8
  158. package/dist/context/react/AssistantContext.js.map +1 -1
  159. package/dist/context/react/AttachmentContext.d.ts +836 -0
  160. package/dist/context/react/AttachmentContext.d.ts.map +1 -0
  161. package/dist/context/react/AttachmentContext.js +10 -8
  162. package/dist/context/react/AttachmentContext.js.map +1 -1
  163. package/dist/context/react/ComposerContext.d.ts +35 -0
  164. package/dist/context/react/ComposerContext.d.ts.map +1 -0
  165. package/dist/context/react/ComposerContext.js +6 -4
  166. package/dist/context/react/ComposerContext.js.map +1 -1
  167. package/dist/context/react/ContentPartContext.d.ts +41 -0
  168. package/dist/context/react/ContentPartContext.d.ts.map +1 -0
  169. package/dist/context/react/ContentPartContext.js +7 -5
  170. package/dist/context/react/ContentPartContext.js.map +1 -1
  171. package/dist/context/react/MessageContext.d.ts +86 -0
  172. package/dist/context/react/MessageContext.d.ts.map +1 -0
  173. package/dist/context/react/MessageContext.js +11 -9
  174. package/dist/context/react/MessageContext.js.map +1 -1
  175. package/dist/context/react/ThreadContext.d.ts +75 -0
  176. package/dist/context/react/ThreadContext.d.ts.map +1 -0
  177. package/dist/context/react/ThreadContext.js +9 -7
  178. package/dist/context/react/ThreadContext.js.map +1 -1
  179. package/dist/context/react/ThreadListItemContext.d.ts +41 -0
  180. package/dist/context/react/ThreadListItemContext.d.ts.map +1 -0
  181. package/dist/context/react/ThreadListItemContext.js +7 -5
  182. package/dist/context/react/ThreadListItemContext.js.map +1 -1
  183. package/dist/context/react/ThreadViewportContext.d.ts +24 -0
  184. package/dist/context/react/ThreadViewportContext.d.ts.map +1 -0
  185. package/dist/context/react/ThreadViewportContext.js +7 -5
  186. package/dist/context/react/ThreadViewportContext.js.map +1 -1
  187. package/dist/context/react/index.d.ts +14 -0
  188. package/dist/context/react/index.d.ts.map +1 -0
  189. package/dist/context/react/index.js +11 -9
  190. package/dist/context/react/index.js.map +1 -1
  191. package/dist/context/react/utils/createContextHook.d.ts +11 -0
  192. package/dist/context/react/utils/createContextHook.d.ts.map +1 -0
  193. package/dist/context/react/utils/createContextHook.js +2 -0
  194. package/dist/context/react/utils/createContextHook.js.map +1 -1
  195. package/dist/context/react/utils/createContextStoreHook.d.ts +26 -0
  196. package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -0
  197. package/dist/context/react/utils/createContextStoreHook.js +1 -0
  198. package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
  199. package/dist/context/react/utils/createStateHookForRuntime.d.ts +31 -0
  200. package/dist/context/react/utils/createStateHookForRuntime.d.ts.map +1 -0
  201. package/dist/context/react/utils/createStateHookForRuntime.js +2 -1
  202. package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
  203. package/dist/context/react/utils/ensureBinding.d.ts +2 -0
  204. package/dist/context/react/utils/ensureBinding.d.ts.map +1 -0
  205. package/dist/context/react/utils/ensureBinding.js +2 -21
  206. package/dist/context/react/utils/ensureBinding.js.map +1 -1
  207. package/dist/context/react/utils/useRuntimeState.d.ts +10 -0
  208. package/dist/context/react/utils/useRuntimeState.d.ts.map +1 -0
  209. package/dist/context/react/utils/useRuntimeState.js +3 -2
  210. package/dist/context/react/utils/useRuntimeState.js.map +1 -1
  211. package/dist/context/stores/AssistantToolUIs.d.ts +14 -0
  212. package/dist/context/stores/AssistantToolUIs.d.ts.map +1 -0
  213. package/dist/context/stores/AssistantToolUIs.js +2 -1
  214. package/dist/context/stores/AssistantToolUIs.js.map +1 -1
  215. package/dist/context/stores/MessageUtils.d.ts +8 -0
  216. package/dist/context/stores/MessageUtils.d.ts.map +1 -0
  217. package/dist/context/stores/MessageUtils.js +2 -1
  218. package/dist/context/stores/MessageUtils.js.map +1 -1
  219. package/dist/context/stores/ThreadViewport.d.ts +8 -0
  220. package/dist/context/stores/ThreadViewport.d.ts.map +1 -0
  221. package/dist/context/stores/ThreadViewport.js +3 -1
  222. package/dist/context/stores/ThreadViewport.js.map +1 -1
  223. package/dist/context/stores/index.d.ts +4 -0
  224. package/dist/context/stores/index.d.ts.map +1 -0
  225. package/dist/index.d.ts +9 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +9 -8
  228. package/dist/index.js.map +1 -1
  229. package/dist/internal.d.ts +14 -0
  230. package/dist/internal.d.ts.map +1 -0
  231. package/dist/internal.js +12 -11
  232. package/dist/internal.js.map +1 -1
  233. package/dist/model-context/ModelContextTypes.d.ts +29 -0
  234. package/dist/model-context/ModelContextTypes.d.ts.map +1 -0
  235. package/dist/model-context/ModelContextTypes.js +2 -1
  236. package/dist/model-context/ModelContextTypes.js.map +1 -1
  237. package/dist/model-context/index.d.ts +23 -0
  238. package/dist/model-context/index.d.ts.map +1 -0
  239. package/dist/model-context/index.js +10 -9
  240. package/dist/model-context/index.js.map +1 -1
  241. package/dist/model-context/makeAssistantTool.d.ts +7 -0
  242. package/dist/model-context/makeAssistantTool.d.ts.map +1 -0
  243. package/dist/model-context/makeAssistantTool.js +4 -2
  244. package/dist/model-context/makeAssistantTool.js.map +1 -1
  245. package/dist/model-context/makeAssistantToolUI.d.ts +7 -0
  246. package/dist/model-context/makeAssistantToolUI.d.ts.map +1 -0
  247. package/dist/model-context/makeAssistantToolUI.js +4 -2
  248. package/dist/model-context/makeAssistantToolUI.js.map +1 -1
  249. package/dist/model-context/makeAssistantVisible.d.ts +7 -0
  250. package/dist/model-context/makeAssistantVisible.d.ts.map +1 -0
  251. package/dist/model-context/makeAssistantVisible.js +9 -7
  252. package/dist/model-context/makeAssistantVisible.js.map +1 -1
  253. package/dist/model-context/tool.d.ts +12 -0
  254. package/dist/model-context/tool.d.ts.map +1 -0
  255. package/dist/model-context/tool.js +1 -0
  256. package/dist/model-context/tool.js.map +1 -1
  257. package/dist/model-context/useAssistantInstructions.d.ts +7 -0
  258. package/dist/model-context/useAssistantInstructions.d.ts.map +1 -0
  259. package/dist/model-context/useAssistantInstructions.js +5 -3
  260. package/dist/model-context/useAssistantInstructions.js.map +1 -1
  261. package/dist/model-context/useAssistantTool.d.ts +9 -0
  262. package/dist/model-context/useAssistantTool.d.ts.map +1 -0
  263. package/dist/model-context/useAssistantTool.js +4 -2
  264. package/dist/model-context/useAssistantTool.js.map +1 -1
  265. package/dist/model-context/useAssistantToolUI.d.ts +7 -0
  266. package/dist/model-context/useAssistantToolUI.d.ts.map +1 -0
  267. package/dist/model-context/useAssistantToolUI.js +4 -2
  268. package/dist/model-context/useAssistantToolUI.js.map +1 -1
  269. package/dist/model-context/useInlineRender.d.ts +4 -0
  270. package/dist/model-context/useInlineRender.d.ts.map +1 -0
  271. package/dist/model-context/useInlineRender.js +3 -1
  272. package/dist/model-context/useInlineRender.js.map +1 -1
  273. package/dist/primitives/actionBar/ActionBarCopy.d.ts +15 -0
  274. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -0
  275. package/dist/primitives/actionBar/ActionBarCopy.js +8 -6
  276. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  277. package/dist/primitives/actionBar/ActionBarEdit.d.ts +11 -0
  278. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -0
  279. package/dist/primitives/actionBar/ActionBarEdit.js +6 -4
  280. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  281. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +11 -0
  282. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -0
  283. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +7 -5
  284. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  285. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +11 -0
  286. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -0
  287. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -4
  288. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  289. package/dist/primitives/actionBar/ActionBarReload.d.ts +11 -0
  290. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -0
  291. package/dist/primitives/actionBar/ActionBarReload.js +8 -6
  292. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  293. package/dist/primitives/actionBar/ActionBarRoot.d.ts +20 -0
  294. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -0
  295. package/dist/primitives/actionBar/ActionBarRoot.js +5 -3
  296. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  297. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +11 -0
  298. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -0
  299. package/dist/primitives/actionBar/ActionBarSpeak.js +6 -4
  300. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  301. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +11 -0
  302. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -0
  303. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +6 -4
  304. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  305. package/dist/primitives/actionBar/index.d.ts +9 -0
  306. package/dist/primitives/actionBar/index.d.ts.map +1 -0
  307. package/dist/primitives/actionBar/index.js +9 -8
  308. package/dist/primitives/actionBar/index.js.map +1 -1
  309. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts +12 -0
  310. package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -0
  311. package/dist/primitives/actionBar/useActionBarFloatStatus.js +6 -4
  312. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  313. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +8 -0
  314. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -0
  315. package/dist/primitives/assistantModal/AssistantModalAnchor.js +5 -3
  316. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  317. package/dist/primitives/assistantModal/AssistantModalContent.d.ts +12 -0
  318. package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -0
  319. package/dist/primitives/assistantModal/AssistantModalContent.js +5 -3
  320. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  321. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +9 -0
  322. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -0
  323. package/dist/primitives/assistantModal/AssistantModalRoot.js +7 -5
  324. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  325. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +8 -0
  326. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -0
  327. package/dist/primitives/assistantModal/AssistantModalTrigger.js +4 -3
  328. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  329. package/dist/primitives/assistantModal/index.d.ts +5 -0
  330. package/dist/primitives/assistantModal/index.d.ts.map +1 -0
  331. package/dist/primitives/assistantModal/index.js +5 -4
  332. package/dist/primitives/assistantModal/index.js.map +1 -1
  333. package/dist/primitives/assistantModal/scope.d.ts +8 -0
  334. package/dist/primitives/assistantModal/scope.d.ts.map +1 -0
  335. package/dist/primitives/assistantModal/scope.js +2 -1
  336. package/dist/primitives/assistantModal/scope.js.map +1 -1
  337. package/dist/primitives/attachment/AttachmentName.d.ts +6 -0
  338. package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -0
  339. package/dist/primitives/attachment/AttachmentName.js +4 -2
  340. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  341. package/dist/primitives/attachment/AttachmentRemove.d.ts +11 -0
  342. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -0
  343. package/dist/primitives/attachment/AttachmentRemove.js +6 -4
  344. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  345. package/dist/primitives/attachment/AttachmentRoot.d.ts +12 -0
  346. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -0
  347. package/dist/primitives/attachment/AttachmentRoot.js +3 -2
  348. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  349. package/dist/primitives/attachment/AttachmentThumb.d.ts +12 -0
  350. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -0
  351. package/dist/primitives/attachment/AttachmentThumb.js +5 -3
  352. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  353. package/dist/primitives/attachment/index.d.ts +5 -0
  354. package/dist/primitives/attachment/index.d.ts.map +1 -0
  355. package/dist/primitives/attachment/index.js +5 -4
  356. package/dist/primitives/attachment/index.js.map +1 -1
  357. package/dist/primitives/branchPicker/BranchPickerCount.d.ts +6 -0
  358. package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -0
  359. package/dist/primitives/branchPicker/BranchPickerCount.js +5 -3
  360. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  361. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +11 -0
  362. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -0
  363. package/dist/primitives/branchPicker/BranchPickerNext.js +6 -4
  364. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  365. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +6 -0
  366. package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -0
  367. package/dist/primitives/branchPicker/BranchPickerNumber.js +5 -3
  368. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  369. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +11 -0
  370. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -0
  371. package/dist/primitives/branchPicker/BranchPickerPrevious.js +6 -4
  372. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  373. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +14 -0
  374. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -0
  375. package/dist/primitives/branchPicker/BranchPickerRoot.js +4 -3
  376. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  377. package/dist/primitives/branchPicker/index.d.ts +6 -0
  378. package/dist/primitives/branchPicker/index.d.ts.map +1 -0
  379. package/dist/primitives/branchPicker/index.js +6 -5
  380. package/dist/primitives/branchPicker/index.js.map +1 -1
  381. package/dist/primitives/composer/ComposerAddAttachment.d.ts +17 -0
  382. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -0
  383. package/dist/primitives/composer/ComposerAddAttachment.js +6 -4
  384. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  385. package/dist/primitives/composer/ComposerAttachments.d.ts +13 -0
  386. package/dist/primitives/composer/ComposerAttachments.d.ts.map +1 -0
  387. package/dist/primitives/composer/ComposerAttachments.js +11 -9
  388. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  389. package/dist/primitives/composer/ComposerCancel.d.ts +11 -0
  390. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -0
  391. package/dist/primitives/composer/ComposerCancel.js +6 -4
  392. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  393. package/dist/primitives/composer/ComposerIf.d.ts +12 -0
  394. package/dist/primitives/composer/ComposerIf.d.ts.map +1 -0
  395. package/dist/primitives/composer/ComposerIf.js +5 -3
  396. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  397. package/dist/primitives/composer/ComposerInput.d.ts +21 -0
  398. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -0
  399. package/dist/primitives/composer/ComposerInput.js +8 -6
  400. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  401. package/dist/primitives/composer/ComposerRoot.d.ts +10 -0
  402. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -0
  403. package/dist/primitives/composer/ComposerRoot.js +5 -3
  404. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  405. package/dist/primitives/composer/ComposerSend.d.ts +10 -0
  406. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -0
  407. package/dist/primitives/composer/ComposerSend.js +8 -6
  408. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  409. package/dist/primitives/composer/index.d.ts +8 -0
  410. package/dist/primitives/composer/index.d.ts.map +1 -0
  411. package/dist/primitives/composer/index.js +8 -7
  412. package/dist/primitives/composer/index.js.map +1 -1
  413. package/dist/primitives/contentPart/ContentPartImage.d.ts +10 -0
  414. package/dist/primitives/contentPart/ContentPartImage.d.ts.map +1 -0
  415. package/dist/primitives/contentPart/ContentPartImage.js +5 -3
  416. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  417. package/dist/primitives/contentPart/ContentPartInProgress.d.ts +6 -0
  418. package/dist/primitives/contentPart/ContentPartInProgress.d.ts.map +1 -0
  419. package/dist/primitives/contentPart/ContentPartInProgress.js +4 -2
  420. package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
  421. package/dist/primitives/contentPart/ContentPartText.d.ts +16 -0
  422. package/dist/primitives/contentPart/ContentPartText.d.ts.map +1 -0
  423. package/dist/primitives/contentPart/ContentPartText.js +6 -4
  424. package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
  425. package/dist/primitives/contentPart/index.d.ts +4 -0
  426. package/dist/primitives/contentPart/index.d.ts.map +1 -0
  427. package/dist/primitives/contentPart/index.js +4 -3
  428. package/dist/primitives/contentPart/index.js.map +1 -1
  429. package/dist/primitives/contentPart/useContentPartFile.d.ts +5 -0
  430. package/dist/primitives/contentPart/useContentPartFile.d.ts.map +1 -0
  431. package/dist/primitives/contentPart/useContentPartFile.js +4 -2
  432. package/dist/primitives/contentPart/useContentPartFile.js.map +1 -1
  433. package/dist/primitives/contentPart/useContentPartImage.d.ts +5 -0
  434. package/dist/primitives/contentPart/useContentPartImage.d.ts.map +1 -0
  435. package/dist/primitives/contentPart/useContentPartImage.js +4 -2
  436. package/dist/primitives/contentPart/useContentPartImage.js.map +1 -1
  437. package/dist/primitives/contentPart/useContentPartReasoning.d.ts +5 -0
  438. package/dist/primitives/contentPart/useContentPartReasoning.d.ts.map +1 -0
  439. package/dist/primitives/contentPart/useContentPartReasoning.js +4 -2
  440. package/dist/primitives/contentPart/useContentPartReasoning.js.map +1 -1
  441. package/dist/primitives/contentPart/useContentPartSource.d.ts +5 -0
  442. package/dist/primitives/contentPart/useContentPartSource.d.ts.map +1 -0
  443. package/dist/primitives/contentPart/useContentPartSource.js +4 -2
  444. package/dist/primitives/contentPart/useContentPartSource.js.map +1 -1
  445. package/dist/primitives/contentPart/useContentPartText.d.ts +7 -0
  446. package/dist/primitives/contentPart/useContentPartText.d.ts.map +1 -0
  447. package/dist/primitives/contentPart/useContentPartText.js +4 -2
  448. package/dist/primitives/contentPart/useContentPartText.js.map +1 -1
  449. package/dist/primitives/index.d.ts +17 -0
  450. package/dist/primitives/index.d.ts.map +1 -0
  451. package/dist/primitives/index.js +17 -16
  452. package/dist/primitives/index.js.map +1 -1
  453. package/dist/primitives/message/MessageAttachments.d.ts +13 -0
  454. package/dist/primitives/message/MessageAttachments.d.ts.map +1 -0
  455. package/dist/primitives/message/MessageAttachments.js +11 -9
  456. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  457. package/dist/primitives/message/MessageContent.d.ts +23 -0
  458. package/dist/primitives/message/MessageContent.d.ts.map +1 -0
  459. package/dist/primitives/message/MessageContent.js +19 -17
  460. package/dist/primitives/message/MessageContent.js.map +1 -1
  461. package/dist/primitives/message/MessageIf.d.ts +21 -0
  462. package/dist/primitives/message/MessageIf.d.ts.map +1 -0
  463. package/dist/primitives/message/MessageIf.js +6 -4
  464. package/dist/primitives/message/MessageIf.js.map +1 -1
  465. package/dist/primitives/message/MessageRoot.d.ts +10 -0
  466. package/dist/primitives/message/MessageRoot.d.ts.map +1 -0
  467. package/dist/primitives/message/MessageRoot.js +7 -5
  468. package/dist/primitives/message/MessageRoot.js.map +1 -1
  469. package/dist/primitives/message/index.d.ts +5 -0
  470. package/dist/primitives/message/index.d.ts.map +1 -0
  471. package/dist/primitives/message/index.js +5 -4
  472. package/dist/primitives/message/index.js.map +1 -1
  473. package/dist/primitives/thread/ThreadEmpty.d.ts +6 -0
  474. package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -0
  475. package/dist/primitives/thread/ThreadEmpty.js +4 -2
  476. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  477. package/dist/primitives/thread/ThreadIf.d.ts +14 -0
  478. package/dist/primitives/thread/ThreadIf.d.ts.map +1 -0
  479. package/dist/primitives/thread/ThreadIf.js +5 -3
  480. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  481. package/dist/primitives/thread/ThreadMessages.d.ts +27 -0
  482. package/dist/primitives/thread/ThreadMessages.d.ts.map +1 -0
  483. package/dist/primitives/thread/ThreadMessages.js +14 -12
  484. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  485. package/dist/primitives/thread/ThreadRoot.d.ts +10 -0
  486. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -0
  487. package/dist/primitives/thread/ThreadRoot.js +3 -2
  488. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  489. package/dist/primitives/thread/ThreadScrollToBottom.d.ts +11 -0
  490. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -0
  491. package/dist/primitives/thread/ThreadScrollToBottom.js +6 -4
  492. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  493. package/dist/primitives/thread/ThreadSuggestion.d.ts +19 -0
  494. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -0
  495. package/dist/primitives/thread/ThreadSuggestion.js +7 -5
  496. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  497. package/dist/primitives/thread/ThreadViewport.d.ts +14 -0
  498. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -0
  499. package/dist/primitives/thread/ThreadViewport.js +7 -5
  500. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  501. package/dist/primitives/thread/index.d.ts +8 -0
  502. package/dist/primitives/thread/index.d.ts.map +1 -0
  503. package/dist/primitives/thread/index.js +8 -7
  504. package/dist/primitives/thread/index.js.map +1 -1
  505. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts +8 -0
  506. package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -0
  507. package/dist/primitives/thread/useThreadViewportAutoScroll.js +9 -7
  508. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  509. package/dist/primitives/threadList/ThreadListItems.d.ts +11 -0
  510. package/dist/primitives/threadList/ThreadListItems.d.ts.map +1 -0
  511. package/dist/primitives/threadList/ThreadListItems.js +8 -6
  512. package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
  513. package/dist/primitives/threadList/ThreadListNew.d.ts +11 -0
  514. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -0
  515. package/dist/primitives/threadList/ThreadListNew.js +6 -4
  516. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  517. package/dist/primitives/threadList/ThreadListRoot.d.ts +12 -0
  518. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -0
  519. package/dist/primitives/threadList/ThreadListRoot.js +3 -2
  520. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
  521. package/dist/primitives/threadList/index.d.ts +4 -0
  522. package/dist/primitives/threadList/index.d.ts.map +1 -0
  523. package/dist/primitives/threadList/index.js +4 -3
  524. package/dist/primitives/threadList/index.js.map +1 -1
  525. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +11 -0
  526. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -0
  527. package/dist/primitives/threadListItem/ThreadListItemArchive.js +6 -4
  528. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  529. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +11 -0
  530. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -0
  531. package/dist/primitives/threadListItem/ThreadListItemDelete.js +6 -4
  532. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  533. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +12 -0
  534. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -0
  535. package/dist/primitives/threadListItem/ThreadListItemRoot.js +5 -3
  536. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  537. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts +8 -0
  538. package/dist/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
  539. package/dist/primitives/threadListItem/ThreadListItemTitle.js +4 -2
  540. package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
  541. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +11 -0
  542. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -0
  543. package/dist/primitives/threadListItem/ThreadListItemTrigger.js +6 -4
  544. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  545. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +11 -0
  546. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -0
  547. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +6 -4
  548. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  549. package/dist/primitives/threadListItem/index.d.ts +7 -0
  550. package/dist/primitives/threadListItem/index.d.ts.map +1 -0
  551. package/dist/primitives/threadListItem/index.js +7 -6
  552. package/dist/primitives/threadListItem/index.js.map +1 -1
  553. package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts +17 -0
  554. package/dist/runtimes/adapters/RuntimeAdapterProvider.d.ts.map +1 -0
  555. package/dist/runtimes/adapters/RuntimeAdapterProvider.js +5 -4
  556. package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -1
  557. package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts +10 -0
  558. package/dist/runtimes/adapters/attachment/AttachmentAdapter.d.ts.map +1 -0
  559. package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.d.ts +13 -0
  560. package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.d.ts.map +1 -0
  561. package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.js +3 -2
  562. package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.js.map +1 -1
  563. package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.d.ts +11 -0
  564. package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.d.ts.map +1 -0
  565. package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.js +4 -3
  566. package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.js.map +1 -1
  567. package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.d.ts +11 -0
  568. package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.d.ts.map +1 -0
  569. package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.js +4 -3
  570. package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.js.map +1 -1
  571. package/dist/runtimes/adapters/attachment/index.d.ts +5 -0
  572. package/dist/runtimes/adapters/attachment/index.d.ts.map +1 -0
  573. package/dist/runtimes/adapters/attachment/index.js +4 -3
  574. package/dist/runtimes/adapters/attachment/index.js.map +1 -1
  575. package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts +10 -0
  576. package/dist/runtimes/adapters/feedback/FeedbackAdapter.d.ts.map +1 -0
  577. package/dist/runtimes/adapters/feedback/index.d.ts +2 -0
  578. package/dist/runtimes/adapters/feedback/index.d.ts.map +1 -0
  579. package/dist/runtimes/adapters/index.d.ts +5 -0
  580. package/dist/runtimes/adapters/index.d.ts.map +1 -0
  581. package/dist/runtimes/adapters/index.js +5 -4
  582. package/dist/runtimes/adapters/index.js.map +1 -1
  583. package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts +41 -0
  584. package/dist/runtimes/adapters/speech/SpeechAdapterTypes.d.ts.map +1 -0
  585. package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.d.ts +5 -0
  586. package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.d.ts.map +1 -0
  587. package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.js +3 -2
  588. package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.js.map +1 -1
  589. package/dist/runtimes/adapters/speech/index.d.ts +3 -0
  590. package/dist/runtimes/adapters/speech/index.d.ts.map +1 -0
  591. package/dist/runtimes/adapters/speech/index.js +2 -1
  592. package/dist/runtimes/adapters/speech/index.js.map +1 -1
  593. package/dist/runtimes/adapters/suggestion/SuggestionAdapter.d.ts +10 -0
  594. package/dist/runtimes/adapters/suggestion/SuggestionAdapter.d.ts.map +1 -0
  595. package/dist/runtimes/adapters/suggestion/index.d.ts +2 -0
  596. package/dist/runtimes/adapters/suggestion/index.d.ts.map +1 -0
  597. package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.d.ts +10 -0
  598. package/dist/runtimes/adapters/thread-history/ThreadHistoryAdapter.d.ts.map +1 -0
  599. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts +39 -0
  600. package/dist/runtimes/composer/BaseComposerRuntimeCore.d.ts.map +1 -0
  601. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +5 -4
  602. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  603. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts +25 -0
  604. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.d.ts.map +1 -0
  605. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +5 -4
  606. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
  607. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts +21 -0
  608. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.d.ts.map +1 -0
  609. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +4 -3
  610. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
  611. package/dist/runtimes/core/AssistantRuntimeCore.d.ts +16 -0
  612. package/dist/runtimes/core/AssistantRuntimeCore.d.ts.map +1 -0
  613. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts +11 -0
  614. package/dist/runtimes/core/BaseAssistantRuntimeCore.d.ts.map +1 -0
  615. package/dist/runtimes/core/BaseAssistantRuntimeCore.js +4 -3
  616. package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
  617. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +60 -0
  618. package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -0
  619. package/dist/runtimes/core/BaseThreadRuntimeCore.js +7 -6
  620. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  621. package/dist/runtimes/core/ComposerRuntimeCore.d.ts +28 -0
  622. package/dist/runtimes/core/ComposerRuntimeCore.d.ts.map +1 -0
  623. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts +34 -0
  624. package/dist/runtimes/core/ThreadListRuntimeCore.d.ts.map +1 -0
  625. package/dist/runtimes/core/ThreadRuntimeCore.d.ts +79 -0
  626. package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -0
  627. package/dist/runtimes/core/index.d.ts +2 -0
  628. package/dist/runtimes/core/index.d.ts.map +1 -0
  629. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts +64 -0
  630. package/dist/runtimes/external-store/ExternalStoreAdapter.d.ts.map +1 -0
  631. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts +9 -0
  632. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.d.ts.map +1 -0
  633. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +7 -6
  634. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  635. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts +35 -0
  636. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.d.ts.map +1 -0
  637. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +8 -7
  638. package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
  639. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts +36 -0
  640. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.d.ts.map +1 -0
  641. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +11 -10
  642. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  643. package/dist/runtimes/external-store/ThreadMessageConverter.d.ts +7 -0
  644. package/dist/runtimes/external-store/ThreadMessageConverter.d.ts.map +1 -0
  645. package/dist/runtimes/external-store/ThreadMessageConverter.js +3 -2
  646. package/dist/runtimes/external-store/ThreadMessageConverter.js.map +1 -1
  647. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +28 -0
  648. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -0
  649. package/dist/runtimes/external-store/ThreadMessageLike.js +3 -2
  650. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  651. package/dist/runtimes/external-store/auto-status.d.ts +9 -0
  652. package/dist/runtimes/external-store/auto-status.d.ts.map +1 -0
  653. package/dist/runtimes/external-store/auto-status.js +5 -4
  654. package/dist/runtimes/external-store/auto-status.js.map +1 -1
  655. package/dist/runtimes/external-store/createMessageConverter.d.ts +16 -0
  656. package/dist/runtimes/external-store/createMessageConverter.d.ts.map +1 -0
  657. package/dist/runtimes/external-store/createMessageConverter.js +6 -4
  658. package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
  659. package/dist/runtimes/external-store/external-message-converter.d.ts +22 -0
  660. package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -0
  661. package/dist/runtimes/external-store/external-message-converter.js +11 -9
  662. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  663. package/dist/runtimes/external-store/getExternalStoreMessage.d.ts +9 -0
  664. package/dist/runtimes/external-store/getExternalStoreMessage.d.ts.map +1 -0
  665. package/dist/runtimes/external-store/getExternalStoreMessage.js +6 -5
  666. package/dist/runtimes/external-store/getExternalStoreMessage.js.map +1 -1
  667. package/dist/runtimes/external-store/index.d.ts +7 -0
  668. package/dist/runtimes/external-store/index.d.ts.map +1 -0
  669. package/dist/runtimes/external-store/index.js +5 -4
  670. package/dist/runtimes/external-store/index.js.map +1 -1
  671. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts +4 -0
  672. package/dist/runtimes/external-store/useExternalStoreRuntime.d.ts.map +1 -0
  673. package/dist/runtimes/external-store/useExternalStoreRuntime.js +8 -4
  674. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  675. package/dist/runtimes/index.d.ts +7 -0
  676. package/dist/runtimes/index.d.ts.map +1 -0
  677. package/dist/runtimes/index.js +7 -6
  678. package/dist/runtimes/index.js.map +1 -1
  679. package/dist/runtimes/local/ChatModelAdapter.d.ts +36 -0
  680. package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -0
  681. package/dist/runtimes/local/LocalRuntimeCore.d.ts +11 -0
  682. package/dist/runtimes/local/LocalRuntimeCore.d.ts.map +1 -0
  683. package/dist/runtimes/local/LocalRuntimeCore.js +7 -6
  684. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  685. package/dist/runtimes/local/LocalRuntimeOptions.d.ts +46 -0
  686. package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -0
  687. package/dist/runtimes/local/LocalRuntimeOptions.js +2 -1
  688. package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
  689. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts +32 -0
  690. package/dist/runtimes/local/LocalThreadListRuntimeCore.d.ts.map +1 -0
  691. package/dist/runtimes/local/LocalThreadListRuntimeCore.js +5 -4
  692. package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
  693. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts +45 -0
  694. package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -0
  695. package/dist/runtimes/local/LocalThreadRuntimeCore.js +6 -5
  696. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  697. package/dist/runtimes/local/index.d.ts +4 -0
  698. package/dist/runtimes/local/index.d.ts.map +1 -0
  699. package/dist/runtimes/local/index.js +2 -1
  700. package/dist/runtimes/local/index.js.map +1 -1
  701. package/dist/runtimes/local/shouldContinue.d.ts +3 -0
  702. package/dist/runtimes/local/shouldContinue.d.ts.map +1 -0
  703. package/dist/runtimes/local/shouldContinue.js +2 -1
  704. package/dist/runtimes/local/shouldContinue.js.map +1 -1
  705. package/dist/runtimes/local/useLocalRuntime.d.ts +5 -0
  706. package/dist/runtimes/local/useLocalRuntime.d.ts.map +1 -0
  707. package/dist/runtimes/local/useLocalRuntime.js +9 -7
  708. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  709. package/dist/runtimes/remote-thread-list/BaseSubscribable.d.ts +8 -0
  710. package/dist/runtimes/remote-thread-list/BaseSubscribable.d.ts.map +1 -0
  711. package/dist/runtimes/remote-thread-list/BaseSubscribable.js +3 -2
  712. package/dist/runtimes/remote-thread-list/BaseSubscribable.js.map +1 -1
  713. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts +3 -0
  714. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -0
  715. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +3 -2
  716. package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
  717. package/dist/runtimes/remote-thread-list/OptimisticState.d.ts +23 -0
  718. package/dist/runtimes/remote-thread-list/OptimisticState.d.ts.map +1 -0
  719. package/dist/runtimes/remote-thread-list/OptimisticState.js +5 -4
  720. package/dist/runtimes/remote-thread-list/OptimisticState.js.map +1 -1
  721. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +81 -0
  722. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -0
  723. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +9 -7
  724. package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
  725. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +119 -0
  726. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -0
  727. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +13 -11
  728. package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
  729. package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts +13 -0
  730. package/dist/runtimes/remote-thread-list/adapter/cloud.d.ts.map +1 -0
  731. package/dist/runtimes/remote-thread-list/adapter/cloud.js +9 -8
  732. package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
  733. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts +12 -0
  734. package/dist/runtimes/remote-thread-list/adapter/in-memory.d.ts.map +1 -0
  735. package/dist/runtimes/remote-thread-list/adapter/in-memory.js +3 -2
  736. package/dist/runtimes/remote-thread-list/adapter/in-memory.js.map +1 -1
  737. package/dist/runtimes/remote-thread-list/index.d.ts +4 -0
  738. package/dist/runtimes/remote-thread-list/index.d.ts.map +1 -0
  739. package/dist/runtimes/remote-thread-list/index.js +3 -2
  740. package/dist/runtimes/remote-thread-list/index.js.map +1 -1
  741. package/dist/runtimes/remote-thread-list/types.d.ts +32 -0
  742. package/dist/runtimes/remote-thread-list/types.d.ts.map +1 -0
  743. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts +4 -0
  744. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.d.ts.map +1 -0
  745. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +8 -6
  746. package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
  747. package/dist/runtimes/utils/MessageRepository.d.ts +151 -0
  748. package/dist/runtimes/utils/MessageRepository.d.ts.map +1 -0
  749. package/dist/runtimes/utils/MessageRepository.js +10 -9
  750. package/dist/runtimes/utils/MessageRepository.js.map +1 -1
  751. package/dist/tests/setup.d.ts +2 -0
  752. package/dist/tests/setup.d.ts.map +1 -0
  753. package/dist/tests/setup.js +2971 -3
  754. package/dist/tests/setup.js.map +1 -1
  755. package/dist/types/AssistantTypes.d.ts +132 -0
  756. package/dist/types/AssistantTypes.d.ts.map +1 -0
  757. package/dist/types/AttachmentTypes.d.ts +35 -0
  758. package/dist/types/AttachmentTypes.d.ts.map +1 -0
  759. package/dist/types/ContentPartComponentTypes.d.ts +24 -0
  760. package/dist/types/ContentPartComponentTypes.d.ts.map +1 -0
  761. package/dist/types/Unsubscribe.d.ts +2 -0
  762. package/dist/types/Unsubscribe.d.ts.map +1 -0
  763. package/dist/types/index.d.ts +5 -0
  764. package/dist/types/index.d.ts.map +1 -0
  765. package/dist/utils/CompositeContextProvider.d.ts +10 -0
  766. package/dist/utils/CompositeContextProvider.d.ts.map +1 -0
  767. package/dist/utils/CompositeContextProvider.js +4 -3
  768. package/dist/utils/CompositeContextProvider.js.map +1 -1
  769. package/dist/utils/RequireAtLeastOne.d.ts +4 -0
  770. package/dist/utils/RequireAtLeastOne.d.ts.map +1 -0
  771. package/dist/utils/combined/createCombinedStore.d.ts +8 -0
  772. package/dist/utils/combined/createCombinedStore.d.ts.map +1 -0
  773. package/dist/utils/combined/createCombinedStore.js +3 -1
  774. package/dist/utils/combined/createCombinedStore.js.map +1 -1
  775. package/dist/utils/combined/useCombinedStore.d.ts +3 -0
  776. package/dist/utils/combined/useCombinedStore.d.ts.map +1 -0
  777. package/dist/utils/combined/useCombinedStore.js +4 -2
  778. package/dist/utils/combined/useCombinedStore.js.map +1 -1
  779. package/dist/utils/createActionButton.d.ts +11 -0
  780. package/dist/utils/createActionButton.d.ts.map +1 -0
  781. package/dist/utils/createActionButton.js +3 -2
  782. package/dist/utils/createActionButton.js.map +1 -1
  783. package/dist/utils/getThreadMessageText.d.ts +3 -0
  784. package/dist/utils/getThreadMessageText.d.ts.map +1 -0
  785. package/dist/utils/getThreadMessageText.js +2 -1
  786. package/dist/utils/getThreadMessageText.js.map +1 -1
  787. package/dist/utils/hooks/useManagedRef.d.ts +2 -0
  788. package/dist/utils/hooks/useManagedRef.d.ts.map +1 -0
  789. package/dist/utils/hooks/useManagedRef.js +2 -1
  790. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  791. package/dist/utils/hooks/useOnResizeContent.d.ts +2 -0
  792. package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -0
  793. package/dist/utils/hooks/useOnResizeContent.js +3 -2
  794. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  795. package/dist/utils/hooks/useOnScrollToBottom.d.ts +2 -0
  796. package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -0
  797. package/dist/utils/hooks/useOnScrollToBottom.js +4 -2
  798. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  799. package/dist/utils/idUtils.d.ts +4 -0
  800. package/dist/utils/idUtils.d.ts.map +1 -0
  801. package/dist/utils/idUtils.js +5 -4
  802. package/dist/utils/idUtils.js.map +1 -1
  803. package/dist/utils/json/is-json.d.ts +5 -0
  804. package/dist/utils/json/is-json.d.ts.map +1 -0
  805. package/dist/utils/json/is-json.js +1 -0
  806. package/dist/utils/json/is-json.js.map +1 -1
  807. package/dist/utils/json/json-value.d.ts +6 -0
  808. package/dist/utils/json/json-value.d.ts.map +1 -0
  809. package/dist/utils/smooth/SmoothContext.d.ts +87 -0
  810. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -0
  811. package/dist/utils/smooth/SmoothContext.js +10 -8
  812. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  813. package/dist/utils/smooth/index.d.ts +3 -0
  814. package/dist/utils/smooth/index.d.ts.map +1 -0
  815. package/dist/utils/smooth/index.js +4 -2
  816. package/dist/utils/smooth/index.js.map +1 -1
  817. package/dist/utils/smooth/useSmooth.d.ts +4 -0
  818. package/dist/utils/smooth/useSmooth.d.ts.map +1 -0
  819. package/dist/utils/smooth/useSmooth.js +9 -7
  820. package/dist/utils/smooth/useSmooth.js.map +1 -1
  821. package/dist/utils/useToolArgsFieldStatus.d.ts +12 -0
  822. package/dist/utils/useToolArgsFieldStatus.d.ts.map +1 -0
  823. package/dist/utils/useToolArgsFieldStatus.js +4 -3
  824. package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
  825. package/package.json +3 -18
  826. package/src/runtimes/external-store/useExternalStoreRuntime.tsx +7 -2
@@ -0,0 +1,80 @@
1
+ import { SpeechState, SubmittedFeedback } from "../runtimes/core/ThreadRuntimeCore";
2
+ import { ThreadMessage, ThreadAssistantContentPart, ThreadUserContentPart, Unsubscribe } from "../types";
3
+ import { RunConfig, ToolCallContentPartStatus } from "../types/AssistantTypes";
4
+ import { AttachmentRuntime, MessageAttachmentRuntimeImpl } from "./AttachmentRuntime";
5
+ import { EditComposerRuntime, EditComposerRuntimeImpl } from "./ComposerRuntime";
6
+ import { ContentPartRuntime, ContentPartRuntimeImpl } from "./ContentPartRuntime";
7
+ import { MessageRuntimePath } from "./RuntimePathTypes";
8
+ import { ThreadRuntimeCoreBinding } from "./ThreadRuntime";
9
+ import { SubscribableWithState } from "./subscribable/Subscribable";
10
+ export declare const toContentPartStatus: (message: ThreadMessage, partIndex: number, part: ThreadUserContentPart | ThreadAssistantContentPart) => ToolCallContentPartStatus;
11
+ export type MessageState = ThreadMessage & {
12
+ readonly parentId: string | null;
13
+ readonly isLast: boolean;
14
+ readonly branchNumber: number;
15
+ readonly branchCount: number;
16
+ /**
17
+ * @deprecated This API is still under active development and might change without notice.
18
+ */
19
+ readonly speech: SpeechState | undefined;
20
+ readonly submittedFeedback: SubmittedFeedback | undefined;
21
+ };
22
+ export type MessageStateBinding = SubscribableWithState<MessageState, MessageRuntimePath>;
23
+ type ReloadConfig = {
24
+ runConfig?: RunConfig;
25
+ };
26
+ export type MessageRuntime = {
27
+ readonly path: MessageRuntimePath;
28
+ readonly composer: EditComposerRuntime;
29
+ getState(): MessageState;
30
+ reload(config?: ReloadConfig): void;
31
+ /**
32
+ * @deprecated This API is still under active development and might change without notice.
33
+ */
34
+ speak(): void;
35
+ /**
36
+ * @deprecated This API is still under active development and might change without notice.
37
+ */
38
+ stopSpeaking(): void;
39
+ submitFeedback({ type }: {
40
+ type: "positive" | "negative";
41
+ }): void;
42
+ switchToBranch({ position, branchId, }: {
43
+ position?: "previous" | "next" | undefined;
44
+ branchId?: string | undefined;
45
+ }): void;
46
+ unstable_getCopyText(): string;
47
+ subscribe(callback: () => void): Unsubscribe;
48
+ getContentPartByIndex(idx: number): ContentPartRuntime;
49
+ getContentPartByToolCallId(toolCallId: string): ContentPartRuntime;
50
+ getAttachmentByIndex(idx: number): AttachmentRuntime & {
51
+ source: "message";
52
+ };
53
+ };
54
+ export declare class MessageRuntimeImpl implements MessageRuntime {
55
+ private _core;
56
+ private _threadBinding;
57
+ get path(): MessageRuntimePath;
58
+ constructor(_core: MessageStateBinding, _threadBinding: ThreadRuntimeCoreBinding);
59
+ protected __internal_bindMethods(): void;
60
+ readonly composer: EditComposerRuntimeImpl;
61
+ private _getEditComposerRuntimeCore;
62
+ getState(): MessageState;
63
+ reload(reloadConfig?: ReloadConfig): void;
64
+ speak(): void;
65
+ stopSpeaking(): void;
66
+ submitFeedback({ type }: {
67
+ type: "positive" | "negative";
68
+ }): void;
69
+ switchToBranch({ position, branchId, }: {
70
+ position?: "previous" | "next" | undefined;
71
+ branchId?: string | undefined;
72
+ }): void;
73
+ unstable_getCopyText(): string;
74
+ subscribe(callback: () => void): Unsubscribe;
75
+ getContentPartByIndex(idx: number): ContentPartRuntimeImpl;
76
+ getContentPartByToolCallId(toolCallId: string): ContentPartRuntimeImpl;
77
+ getAttachmentByIndex(idx: number): MessageAttachmentRuntimeImpl;
78
+ }
79
+ export {};
80
+ //# sourceMappingURL=MessageRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageRuntime.d.ts","sourceRoot":"","sources":["../../src/api/MessageRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,22 @@
1
- import { symbolInnerMessage } from "../runtimes/external-store/getExternalStoreMessage";
2
- import { getThreadMessageText } from "../utils/getThreadMessageText";
1
+ // src/api/MessageRuntime.ts
2
+ import { symbolInnerMessage } from "../runtimes/external-store/getExternalStoreMessage.js";
3
+ import { getThreadMessageText } from "../utils/getThreadMessageText.js";
3
4
  import {
4
5
  MessageAttachmentRuntimeImpl
5
- } from "./AttachmentRuntime";
6
+ } from "./AttachmentRuntime.js";
6
7
  import {
7
8
  EditComposerRuntimeImpl
8
- } from "./ComposerRuntime";
9
+ } from "./ComposerRuntime.js";
9
10
  import {
10
11
  ContentPartRuntimeImpl
11
- } from "./ContentPartRuntime";
12
- import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject";
13
- import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE";
14
- import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject";
15
- const COMPLETE_STATUS = Object.freeze({
12
+ } from "./ContentPartRuntime.js";
13
+ import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject.js";
14
+ import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE.js";
15
+ import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject.js";
16
+ var COMPLETE_STATUS = Object.freeze({
16
17
  type: "complete"
17
18
  });
18
- const toContentPartStatus = (message, partIndex, part) => {
19
+ var toContentPartStatus = (message, partIndex, part) => {
19
20
  if (message.role !== "assistant") return COMPLETE_STATUS;
20
21
  if (part.type === "tool-call") {
21
22
  if (!part.result) {
@@ -28,7 +29,7 @@ const toContentPartStatus = (message, partIndex, part) => {
28
29
  if (message.status.type === "requires-action") return COMPLETE_STATUS;
29
30
  return isLastPart ? message.status : COMPLETE_STATUS;
30
31
  };
31
- const getContentPartState = (message, partIndex) => {
32
+ var getContentPartState = (message, partIndex) => {
32
33
  const part = message.content[partIndex];
33
34
  if (!part) {
34
35
  return SKIP_UPDATE;
@@ -40,7 +41,7 @@ const getContentPartState = (message, partIndex) => {
40
41
  status
41
42
  });
42
43
  };
43
- class MessageRuntimeImpl {
44
+ var MessageRuntimeImpl = class {
44
45
  constructor(_core, _threadBinding) {
45
46
  this._core = _core;
46
47
  this._threadBinding = _threadBinding;
@@ -203,7 +204,7 @@ class MessageRuntimeImpl {
203
204
  })
204
205
  );
205
206
  }
206
- }
207
+ };
207
208
  export {
208
209
  MessageRuntimeImpl,
209
210
  toContentPartStatus
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/MessageRuntime.ts"],"sourcesContent":["import {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\nimport {\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n Unsubscribe,\n} from \"../types\";\nimport {\n ContentPartStatus,\n RunConfig,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { getThreadMessageText } from \"../utils/getThreadMessageText\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n MessageAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport {\n EditComposerRuntime,\n EditComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport {\n ContentPartRuntime,\n ContentPartRuntimeImpl,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nimport { MessageRuntimePath } from \"./RuntimePathTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\n\nconst COMPLETE_STATUS: ContentPartStatus = Object.freeze({\n type: \"complete\",\n});\n\nexport const toContentPartStatus = (\n message: ThreadMessage,\n partIndex: number,\n part: ThreadUserContentPart | ThreadAssistantContentPart,\n): ToolCallContentPartStatus => {\n if (message.role !== \"assistant\") return COMPLETE_STATUS;\n\n if (part.type === \"tool-call\") {\n if (!part.result) {\n return message.status as ToolCallContentPartStatus;\n } else {\n return COMPLETE_STATUS;\n }\n }\n\n const isLastPart = partIndex === Math.max(0, message.content.length - 1);\n if (message.status.type === \"requires-action\") return COMPLETE_STATUS;\n return isLastPart ? (message.status as ContentPartStatus) : COMPLETE_STATUS;\n};\n\nconst getContentPartState = (\n message: MessageState,\n partIndex: number,\n): ContentPartState | SKIP_UPDATE => {\n const part = message.content[partIndex];\n if (!part) {\n return SKIP_UPDATE;\n }\n\n // if the content part is the same, don't update\n const status = toContentPartStatus(message, partIndex, part);\n return Object.freeze({\n ...part,\n ...{ [symbolInnerMessage]: (part as any)[symbolInnerMessage] },\n status,\n });\n};\n\nexport type MessageState = ThreadMessage & {\n readonly parentId: string | null;\n readonly isLast: boolean;\n\n readonly branchNumber: number;\n readonly branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n readonly submittedFeedback: SubmittedFeedback | undefined;\n};\n\nexport type MessageStateBinding = SubscribableWithState<\n MessageState,\n MessageRuntimePath\n>;\n\ntype ReloadConfig = {\n runConfig?: RunConfig;\n};\n\nexport type MessageRuntime = {\n readonly path: MessageRuntimePath;\n\n readonly composer: EditComposerRuntime;\n\n getState(): MessageState;\n reload(config?: ReloadConfig): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback({ type }: { type: \"positive\" | \"negative\" }): void;\n switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }): void;\n unstable_getCopyText(): string;\n\n subscribe(callback: () => void): Unsubscribe;\n\n getContentPartByIndex(idx: number): ContentPartRuntime;\n getContentPartByToolCallId(toolCallId: string): ContentPartRuntime;\n\n getAttachmentByIndex(idx: number): AttachmentRuntime & { source: \"message\" };\n};\n\nexport class MessageRuntimeImpl implements MessageRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: MessageStateBinding,\n private _threadBinding: ThreadRuntimeCoreBinding,\n ) {\n this.composer = new EditComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"edit\",\n },\n getState: this._getEditComposerRuntimeCore,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n () => this._threadBinding.getState().beginEdit(this._core.getState().id),\n );\n }\n\n protected __internal_bindMethods() {\n this.reload = this.reload.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getContentPartByIndex = this.getContentPartByIndex.bind(this);\n this.getContentPartByToolCallId =\n this.getContentPartByToolCallId.bind(this);\n this.getAttachmentByIndex = this.getAttachmentByIndex.bind(this);\n this.unstable_getCopyText = this.unstable_getCopyText.bind(this);\n this.speak = this.speak.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.submitFeedback = this.submitFeedback.bind(this);\n this.switchToBranch = this.switchToBranch.bind(this);\n }\n\n public readonly composer;\n\n private _getEditComposerRuntimeCore = () => {\n return this._threadBinding\n .getState()\n .getEditComposer(this._core.getState().id);\n };\n\n public getState() {\n return this._core.getState();\n }\n\n public reload(reloadConfig: ReloadConfig = {}) {\n const editComposerRuntimeCore = this._getEditComposerRuntimeCore();\n const composerRuntimeCore =\n editComposerRuntimeCore ?? this._threadBinding.getState().composer;\n const composer = editComposerRuntimeCore ?? composerRuntimeCore;\n\n const { runConfig = composer.runConfig } = reloadConfig;\n const state = this._core.getState();\n if (state.role !== \"assistant\")\n throw new Error(\"Can only reload assistant messages\");\n\n this._threadBinding.getState().startRun({\n parentId: state.parentId,\n sourceId: state.id,\n runConfig,\n });\n }\n\n public speak() {\n const state = this._core.getState();\n return this._threadBinding.getState().speak(state.id);\n }\n\n public stopSpeaking() {\n const state = this._core.getState();\n const thread = this._threadBinding.getState();\n if (thread.speech?.messageId === state.id) {\n this._threadBinding.getState().stopSpeaking();\n } else {\n throw new Error(\"Message is not being spoken\");\n }\n }\n\n public submitFeedback({ type }: { type: \"positive\" | \"negative\" }) {\n const state = this._core.getState();\n this._threadBinding.getState().submitFeedback({\n messageId: state.id,\n type,\n });\n }\n\n public switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }) {\n const state = this._core.getState();\n if (branchId && position) {\n throw new Error(\"May not specify both branchId and position\");\n } else if (!branchId && !position) {\n throw new Error(\"Must specify either branchId or position\");\n }\n\n const thread = this._threadBinding.getState();\n const branches = thread.getBranches(state.id);\n let targetBranch = branchId;\n if (position === \"previous\") {\n targetBranch = branches[state.branchNumber - 2];\n } else if (position === \"next\") {\n targetBranch = branches[state.branchNumber];\n }\n if (!targetBranch) throw new Error(\"Branch not found\");\n\n this._threadBinding.getState().switchToBranch(targetBranch);\n }\n\n public unstable_getCopyText() {\n return getThreadMessageText(this.getState());\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getContentPartByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Content part index must be >= 0\");\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.content[${idx}]`,\n contentPartSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getContentPartState(this.getState(), idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getContentPartByToolCallId(toolCallId: string) {\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.content[toolCallId=${JSON.stringify(toolCallId)}]`,\n contentPartSelector: { type: \"toolCallId\", toolCallId },\n },\n getState: () => {\n const state = this._core.getState();\n const idx = state.content.findIndex(\n (part) =>\n part.type === \"tool-call\" && part.toolCallId === toolCallId,\n );\n if (idx === -1) return SKIP_UPDATE;\n return getContentPartState(state, idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getAttachmentByIndex(idx: number) {\n return new MessageAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n attachmentSource: \"message\",\n attachmentSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments?.[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n source: \"message\",\n } satisfies AttachmentState & { source: \"message\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n );\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/api/MessageRuntime.ts"],"sourcesContent":["import {\n SpeechState,\n SubmittedFeedback,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { symbolInnerMessage } from \"../runtimes/external-store/getExternalStoreMessage\";\nimport {\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadUserContentPart,\n Unsubscribe,\n} from \"../types\";\nimport {\n ContentPartStatus,\n RunConfig,\n ToolCallContentPartStatus,\n} from \"../types/AssistantTypes\";\nimport { getThreadMessageText } from \"../utils/getThreadMessageText\";\nimport {\n AttachmentRuntime,\n AttachmentState,\n MessageAttachmentRuntimeImpl,\n} from \"./AttachmentRuntime\";\nimport {\n EditComposerRuntime,\n EditComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport {\n ContentPartRuntime,\n ContentPartRuntimeImpl,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nimport { MessageRuntimePath } from \"./RuntimePathTypes\";\nimport { ThreadRuntimeCoreBinding } from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\n\nconst COMPLETE_STATUS: ContentPartStatus = Object.freeze({\n type: \"complete\",\n});\n\nexport const toContentPartStatus = (\n message: ThreadMessage,\n partIndex: number,\n part: ThreadUserContentPart | ThreadAssistantContentPart,\n): ToolCallContentPartStatus => {\n if (message.role !== \"assistant\") return COMPLETE_STATUS;\n\n if (part.type === \"tool-call\") {\n if (!part.result) {\n return message.status as ToolCallContentPartStatus;\n } else {\n return COMPLETE_STATUS;\n }\n }\n\n const isLastPart = partIndex === Math.max(0, message.content.length - 1);\n if (message.status.type === \"requires-action\") return COMPLETE_STATUS;\n return isLastPart ? (message.status as ContentPartStatus) : COMPLETE_STATUS;\n};\n\nconst getContentPartState = (\n message: MessageState,\n partIndex: number,\n): ContentPartState | SKIP_UPDATE => {\n const part = message.content[partIndex];\n if (!part) {\n return SKIP_UPDATE;\n }\n\n // if the content part is the same, don't update\n const status = toContentPartStatus(message, partIndex, part);\n return Object.freeze({\n ...part,\n ...{ [symbolInnerMessage]: (part as any)[symbolInnerMessage] },\n status,\n });\n};\n\nexport type MessageState = ThreadMessage & {\n readonly parentId: string | null;\n readonly isLast: boolean;\n\n readonly branchNumber: number;\n readonly branchCount: number;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n readonly speech: SpeechState | undefined;\n readonly submittedFeedback: SubmittedFeedback | undefined;\n};\n\nexport type MessageStateBinding = SubscribableWithState<\n MessageState,\n MessageRuntimePath\n>;\n\ntype ReloadConfig = {\n runConfig?: RunConfig;\n};\n\nexport type MessageRuntime = {\n readonly path: MessageRuntimePath;\n\n readonly composer: EditComposerRuntime;\n\n getState(): MessageState;\n reload(config?: ReloadConfig): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speak(): void;\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking(): void;\n submitFeedback({ type }: { type: \"positive\" | \"negative\" }): void;\n switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }): void;\n unstable_getCopyText(): string;\n\n subscribe(callback: () => void): Unsubscribe;\n\n getContentPartByIndex(idx: number): ContentPartRuntime;\n getContentPartByToolCallId(toolCallId: string): ContentPartRuntime;\n\n getAttachmentByIndex(idx: number): AttachmentRuntime & { source: \"message\" };\n};\n\nexport class MessageRuntimeImpl implements MessageRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: MessageStateBinding,\n private _threadBinding: ThreadRuntimeCoreBinding,\n ) {\n this.composer = new EditComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"edit\",\n },\n getState: this._getEditComposerRuntimeCore,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n () => this._threadBinding.getState().beginEdit(this._core.getState().id),\n );\n }\n\n protected __internal_bindMethods() {\n this.reload = this.reload.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getContentPartByIndex = this.getContentPartByIndex.bind(this);\n this.getContentPartByToolCallId =\n this.getContentPartByToolCallId.bind(this);\n this.getAttachmentByIndex = this.getAttachmentByIndex.bind(this);\n this.unstable_getCopyText = this.unstable_getCopyText.bind(this);\n this.speak = this.speak.bind(this);\n this.stopSpeaking = this.stopSpeaking.bind(this);\n this.submitFeedback = this.submitFeedback.bind(this);\n this.switchToBranch = this.switchToBranch.bind(this);\n }\n\n public readonly composer;\n\n private _getEditComposerRuntimeCore = () => {\n return this._threadBinding\n .getState()\n .getEditComposer(this._core.getState().id);\n };\n\n public getState() {\n return this._core.getState();\n }\n\n public reload(reloadConfig: ReloadConfig = {}) {\n const editComposerRuntimeCore = this._getEditComposerRuntimeCore();\n const composerRuntimeCore =\n editComposerRuntimeCore ?? this._threadBinding.getState().composer;\n const composer = editComposerRuntimeCore ?? composerRuntimeCore;\n\n const { runConfig = composer.runConfig } = reloadConfig;\n const state = this._core.getState();\n if (state.role !== \"assistant\")\n throw new Error(\"Can only reload assistant messages\");\n\n this._threadBinding.getState().startRun({\n parentId: state.parentId,\n sourceId: state.id,\n runConfig,\n });\n }\n\n public speak() {\n const state = this._core.getState();\n return this._threadBinding.getState().speak(state.id);\n }\n\n public stopSpeaking() {\n const state = this._core.getState();\n const thread = this._threadBinding.getState();\n if (thread.speech?.messageId === state.id) {\n this._threadBinding.getState().stopSpeaking();\n } else {\n throw new Error(\"Message is not being spoken\");\n }\n }\n\n public submitFeedback({ type }: { type: \"positive\" | \"negative\" }) {\n const state = this._core.getState();\n this._threadBinding.getState().submitFeedback({\n messageId: state.id,\n type,\n });\n }\n\n public switchToBranch({\n position,\n branchId,\n }: {\n position?: \"previous\" | \"next\" | undefined;\n branchId?: string | undefined;\n }) {\n const state = this._core.getState();\n if (branchId && position) {\n throw new Error(\"May not specify both branchId and position\");\n } else if (!branchId && !position) {\n throw new Error(\"Must specify either branchId or position\");\n }\n\n const thread = this._threadBinding.getState();\n const branches = thread.getBranches(state.id);\n let targetBranch = branchId;\n if (position === \"previous\") {\n targetBranch = branches[state.branchNumber - 2];\n } else if (position === \"next\") {\n targetBranch = branches[state.branchNumber];\n }\n if (!targetBranch) throw new Error(\"Branch not found\");\n\n this._threadBinding.getState().switchToBranch(targetBranch);\n }\n\n public unstable_getCopyText() {\n return getThreadMessageText(this.getState());\n }\n\n public subscribe(callback: () => void) {\n return this._core.subscribe(callback);\n }\n\n public getContentPartByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Content part index must be >= 0\");\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.content[${idx}]`,\n contentPartSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getContentPartState(this.getState(), idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getContentPartByToolCallId(toolCallId: string) {\n return new ContentPartRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.content[toolCallId=${JSON.stringify(toolCallId)}]`,\n contentPartSelector: { type: \"toolCallId\", toolCallId },\n },\n getState: () => {\n const state = this._core.getState();\n const idx = state.content.findIndex(\n (part) =>\n part.type === \"tool-call\" && part.toolCallId === toolCallId,\n );\n if (idx === -1) return SKIP_UPDATE;\n return getContentPartState(state, idx);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n this._threadBinding,\n );\n }\n\n public getAttachmentByIndex(idx: number) {\n return new MessageAttachmentRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.attachments[${idx}]`,\n attachmentSource: \"message\",\n attachmentSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n const attachments = this.getState().attachments;\n const attachment = attachments?.[idx];\n if (!attachment) return SKIP_UPDATE;\n\n return {\n ...attachment,\n source: \"message\",\n } satisfies AttachmentState & { source: \"message\" };\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n );\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,64 @@
1
+ export type ThreadListItemRuntimePath = {
2
+ readonly ref: string;
3
+ readonly threadSelector: {
4
+ readonly type: "main";
5
+ } | {
6
+ readonly type: "index";
7
+ readonly index: number;
8
+ } | {
9
+ readonly type: "archiveIndex";
10
+ readonly index: number;
11
+ } | {
12
+ readonly type: "threadId";
13
+ readonly threadId: string;
14
+ };
15
+ };
16
+ export type ThreadRuntimePath = {
17
+ readonly ref: string;
18
+ readonly threadSelector: {
19
+ readonly type: "main";
20
+ } | {
21
+ readonly type: "threadId";
22
+ readonly threadId: string;
23
+ };
24
+ };
25
+ export type MessageRuntimePath = ThreadRuntimePath & {
26
+ readonly messageSelector: {
27
+ readonly type: "messageId";
28
+ readonly messageId: string;
29
+ } | {
30
+ readonly type: "index";
31
+ readonly index: number;
32
+ };
33
+ };
34
+ export type ContentPartRuntimePath = MessageRuntimePath & {
35
+ readonly contentPartSelector: {
36
+ readonly type: "index";
37
+ readonly index: number;
38
+ } | {
39
+ readonly type: "toolCallId";
40
+ readonly toolCallId: string;
41
+ };
42
+ };
43
+ export type AttachmentRuntimePath = ((MessageRuntimePath & {
44
+ readonly attachmentSource: "message" | "edit-composer";
45
+ }) | (ThreadRuntimePath & {
46
+ readonly attachmentSource: "thread-composer";
47
+ })) & {
48
+ readonly attachmentSelector: {
49
+ readonly type: "index";
50
+ readonly index: number;
51
+ } | {
52
+ readonly type: "index";
53
+ readonly index: number;
54
+ } | {
55
+ readonly type: "index";
56
+ readonly index: number;
57
+ };
58
+ };
59
+ export type ComposerRuntimePath = (ThreadRuntimePath & {
60
+ readonly composerSource: "thread";
61
+ }) | (MessageRuntimePath & {
62
+ readonly composerSource: "edit";
63
+ });
64
+ //# sourceMappingURL=RuntimePathTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimePathTypes.d.ts","sourceRoot":"","sources":["../../src/api/RuntimePathTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EACnB;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACzB;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClD;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACzD;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EACnB;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACzB;QACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,QAAQ,CAAC,eAAe,EACpB;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAC1D;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACxD,QAAQ,CAAC,mBAAmB,EACxB;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClD;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAChC,CAAC,kBAAkB,GAAG;IACpB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,GAAG,eAAe,CAAC;CACxD,CAAC,GACF,CAAC,iBAAiB,GAAG;IACnB,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;CAC9C,CAAC,CACL,GAAG;IACF,QAAQ,CAAC,kBAAkB,EACvB;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,GACD;QACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,CAAC,iBAAiB,GAAG;IACnB,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC;CACnC,CAAC,GACF,CAAC,kBAAkB,GAAG;IACpB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { Unsubscribe } from "../types";
2
+ import { ThreadListItemRuntimePath } from "./RuntimePathTypes";
3
+ import { SubscribableWithState } from "./subscribable/Subscribable";
4
+ import { ThreadListRuntimeCoreBinding } from "./ThreadListRuntime";
5
+ export type ThreadListItemEventType = "switched-to" | "switched-away";
6
+ export type ThreadListItemState = {
7
+ readonly isMain: boolean;
8
+ readonly id: string;
9
+ readonly remoteId: string | undefined;
10
+ readonly externalId: string | undefined;
11
+ /**
12
+ * @deprecated This field was renamed to `id`. This field will be removed in 0.8.0.
13
+ */
14
+ readonly threadId: string;
15
+ readonly status: "archived" | "regular" | "new" | "deleted";
16
+ readonly title?: string | undefined;
17
+ };
18
+ export type ThreadListItemRuntime = {
19
+ readonly path: ThreadListItemRuntimePath;
20
+ getState(): ThreadListItemState;
21
+ initialize(): Promise<{
22
+ remoteId: string;
23
+ externalId: string | undefined;
24
+ }>;
25
+ generateTitle(): Promise<void>;
26
+ switchTo(): Promise<void>;
27
+ rename(newTitle: string): Promise<void>;
28
+ archive(): Promise<void>;
29
+ unarchive(): Promise<void>;
30
+ delete(): Promise<void>;
31
+ subscribe(callback: () => void): Unsubscribe;
32
+ unstable_on(event: ThreadListItemEventType, callback: () => void): Unsubscribe;
33
+ };
34
+ export type ThreadListItemStateBinding = SubscribableWithState<ThreadListItemState, ThreadListItemRuntimePath>;
35
+ export declare class ThreadListItemRuntimeImpl implements ThreadListItemRuntime {
36
+ private _core;
37
+ private _threadListBinding;
38
+ get path(): ThreadListItemRuntimePath;
39
+ constructor(_core: ThreadListItemStateBinding, _threadListBinding: ThreadListRuntimeCoreBinding);
40
+ protected __internal_bindMethods(): void;
41
+ getState(): ThreadListItemState;
42
+ switchTo(): Promise<void>;
43
+ rename(newTitle: string): Promise<void>;
44
+ archive(): Promise<void>;
45
+ unarchive(): Promise<void>;
46
+ delete(): Promise<void>;
47
+ initialize(): Promise<{
48
+ remoteId: string;
49
+ externalId: string | undefined;
50
+ }>;
51
+ generateTitle(): Promise<void>;
52
+ unstable_on(event: ThreadListItemEventType, callback: () => void): Unsubscribe;
53
+ subscribe(callback: () => void): Unsubscribe;
54
+ }
55
+ //# sourceMappingURL=ThreadListItemRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadListItemRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadListItemRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,eAAe,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,IAAI,mBAAmB,CAAC;IAEhC,UAAU,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;IAE7C,WAAW,CACT,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,MAAM,IAAI,GACnB,WAAW,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;AAEF,qBAAa,yBAA0B,YAAW,qBAAqB;IAMnE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,kBAAkB;IAN5B,IAAW,IAAI,8BAEd;gBAGS,KAAK,EAAE,0BAA0B,EACjC,kBAAkB,EAAE,4BAA4B;IAG1D,SAAS,CAAC,sBAAsB;IAazB,QAAQ,IAAI,mBAAmB;IAI/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,UAAU,IAAI,OAAO,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,CAAC;IAKK,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,IAAI;IAahE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;CAGpD"}
@@ -1,4 +1,5 @@
1
- class ThreadListItemRuntimeImpl {
1
+ // src/api/ThreadListItemRuntime.ts
2
+ var ThreadListItemRuntimeImpl = class {
2
3
  constructor(_core, _threadListBinding) {
3
4
  this._core = _core;
4
5
  this._threadListBinding = _threadListBinding;
@@ -63,7 +64,7 @@ class ThreadListItemRuntimeImpl {
63
64
  subscribe(callback) {
64
65
  return this._core.subscribe(callback);
65
66
  }
66
- }
67
+ };
67
68
  export {
68
69
  ThreadListItemRuntimeImpl
69
70
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ThreadListItemRuntime.ts"],"sourcesContent":["import { Unsubscribe } from \"../types\";\nimport { ThreadListItemRuntimePath } from \"./RuntimePathTypes\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { ThreadListRuntimeCoreBinding } from \"./ThreadListRuntime\";\n\nexport type ThreadListItemEventType = \"switched-to\" | \"switched-away\";\n\nexport type ThreadListItemState = {\n readonly isMain: boolean;\n\n readonly id: string;\n readonly remoteId: string | undefined;\n readonly externalId: string | undefined;\n\n /**\n * @deprecated This field was renamed to `id`. This field will be removed in 0.8.0.\n */\n readonly threadId: string;\n\n readonly status: \"archived\" | \"regular\" | \"new\" | \"deleted\";\n readonly title?: string | undefined;\n};\n\nexport type ThreadListItemRuntime = {\n readonly path: ThreadListItemRuntimePath;\n getState(): ThreadListItemState;\n\n initialize(): Promise<{ remoteId: string; externalId: string | undefined }>;\n generateTitle(): Promise<void>;\n\n switchTo(): Promise<void>;\n rename(newTitle: string): Promise<void>;\n archive(): Promise<void>;\n unarchive(): Promise<void>;\n delete(): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n\n unstable_on(\n event: ThreadListItemEventType,\n callback: () => void,\n ): Unsubscribe;\n};\n\nexport type ThreadListItemStateBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport class ThreadListItemRuntimeImpl implements ThreadListItemRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: ThreadListItemStateBinding,\n private _threadListBinding: ThreadListRuntimeCoreBinding,\n ) {}\n\n protected __internal_bindMethods() {\n this.switchTo = this.switchTo.bind(this);\n this.rename = this.rename.bind(this);\n this.archive = this.archive.bind(this);\n this.unarchive = this.unarchive.bind(this);\n this.delete = this.delete.bind(this);\n this.initialize = this.initialize.bind(this);\n this.generateTitle = this.generateTitle.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public getState(): ThreadListItemState {\n return this._core.getState();\n }\n\n public switchTo(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.switchToThread(state.id);\n }\n\n public rename(newTitle: string): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.rename(state.id, newTitle);\n }\n\n public archive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.archive(state.id);\n }\n\n public unarchive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.unarchive(state.id);\n }\n\n public delete(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.delete(state.id);\n }\n\n public initialize(): Promise<{\n remoteId: string;\n externalId: string | undefined;\n }> {\n const state = this._core.getState();\n return this._threadListBinding.initialize(state.id);\n }\n\n public generateTitle(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.generateTitle(state.id);\n }\n\n public unstable_on(event: ThreadListItemEventType, callback: () => void) {\n let prevIsMain = this._core.getState().isMain;\n return this.subscribe(() => {\n const newIsMain = this._core.getState().isMain;\n if (prevIsMain === newIsMain) return;\n prevIsMain = newIsMain;\n\n if (event === \"switched-to\" && !newIsMain) return;\n if (event === \"switched-away\" && newIsMain) return;\n callback();\n });\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":"AAiDO,MAAM,0BAA2D;AAAA,EAKtE,YACU,OACA,oBACR;AAFQ;AACA;AAAA,EACP;AAAA,EAPH,IAAW,OAAO;AAChB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAOU,yBAAyB;AACjC,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AACvC,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;AACrC,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,EACzC;AAAA,EAEO,WAAgC;AACrC,WAAO,KAAK,MAAM,SAAS;AAAA,EAC7B;AAAA,EAEO,WAA0B;AAC/B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,eAAe,MAAM,EAAE;AAAA,EACxD;AAAA,EAEO,OAAO,UAAiC;AAC7C,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,OAAO,MAAM,IAAI,QAAQ;AAAA,EAC1D;AAAA,EAEO,UAAyB;AAC9B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,QAAQ,MAAM,EAAE;AAAA,EACjD;AAAA,EAEO,YAA2B;AAChC,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,UAAU,MAAM,EAAE;AAAA,EACnD;AAAA,EAEO,SAAwB;AAC7B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,OAAO,MAAM,EAAE;AAAA,EAChD;AAAA,EAEO,aAGJ;AACD,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,WAAW,MAAM,EAAE;AAAA,EACpD;AAAA,EAEO,gBAA+B;AACpC,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,cAAc,MAAM,EAAE;AAAA,EACvD;AAAA,EAEO,YAAY,OAAgC,UAAsB;AACvE,QAAI,aAAa,KAAK,MAAM,SAAS,EAAE;AACvC,WAAO,KAAK,UAAU,MAAM;AAC1B,YAAM,YAAY,KAAK,MAAM,SAAS,EAAE;AACxC,UAAI,eAAe,UAAW;AAC9B,mBAAa;AAEb,UAAI,UAAU,iBAAiB,CAAC,UAAW;AAC3C,UAAI,UAAU,mBAAmB,UAAW;AAC5C,eAAS;AAAA,IACX,CAAC;AAAA,EACH;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/api/ThreadListItemRuntime.ts"],"sourcesContent":["import { Unsubscribe } from \"../types\";\nimport { ThreadListItemRuntimePath } from \"./RuntimePathTypes\";\nimport { SubscribableWithState } from \"./subscribable/Subscribable\";\nimport { ThreadListRuntimeCoreBinding } from \"./ThreadListRuntime\";\n\nexport type ThreadListItemEventType = \"switched-to\" | \"switched-away\";\n\nexport type ThreadListItemState = {\n readonly isMain: boolean;\n\n readonly id: string;\n readonly remoteId: string | undefined;\n readonly externalId: string | undefined;\n\n /**\n * @deprecated This field was renamed to `id`. This field will be removed in 0.8.0.\n */\n readonly threadId: string;\n\n readonly status: \"archived\" | \"regular\" | \"new\" | \"deleted\";\n readonly title?: string | undefined;\n};\n\nexport type ThreadListItemRuntime = {\n readonly path: ThreadListItemRuntimePath;\n getState(): ThreadListItemState;\n\n initialize(): Promise<{ remoteId: string; externalId: string | undefined }>;\n generateTitle(): Promise<void>;\n\n switchTo(): Promise<void>;\n rename(newTitle: string): Promise<void>;\n archive(): Promise<void>;\n unarchive(): Promise<void>;\n delete(): Promise<void>;\n\n subscribe(callback: () => void): Unsubscribe;\n\n unstable_on(\n event: ThreadListItemEventType,\n callback: () => void,\n ): Unsubscribe;\n};\n\nexport type ThreadListItemStateBinding = SubscribableWithState<\n ThreadListItemState,\n ThreadListItemRuntimePath\n>;\n\nexport class ThreadListItemRuntimeImpl implements ThreadListItemRuntime {\n public get path() {\n return this._core.path;\n }\n\n constructor(\n private _core: ThreadListItemStateBinding,\n private _threadListBinding: ThreadListRuntimeCoreBinding,\n ) {}\n\n protected __internal_bindMethods() {\n this.switchTo = this.switchTo.bind(this);\n this.rename = this.rename.bind(this);\n this.archive = this.archive.bind(this);\n this.unarchive = this.unarchive.bind(this);\n this.delete = this.delete.bind(this);\n this.initialize = this.initialize.bind(this);\n this.generateTitle = this.generateTitle.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.unstable_on = this.unstable_on.bind(this);\n this.getState = this.getState.bind(this);\n }\n\n public getState(): ThreadListItemState {\n return this._core.getState();\n }\n\n public switchTo(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.switchToThread(state.id);\n }\n\n public rename(newTitle: string): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.rename(state.id, newTitle);\n }\n\n public archive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.archive(state.id);\n }\n\n public unarchive(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.unarchive(state.id);\n }\n\n public delete(): Promise<void> {\n const state = this._core.getState();\n\n return this._threadListBinding.delete(state.id);\n }\n\n public initialize(): Promise<{\n remoteId: string;\n externalId: string | undefined;\n }> {\n const state = this._core.getState();\n return this._threadListBinding.initialize(state.id);\n }\n\n public generateTitle(): Promise<void> {\n const state = this._core.getState();\n return this._threadListBinding.generateTitle(state.id);\n }\n\n public unstable_on(event: ThreadListItemEventType, callback: () => void) {\n let prevIsMain = this._core.getState().isMain;\n return this.subscribe(() => {\n const newIsMain = this._core.getState().isMain;\n if (prevIsMain === newIsMain) return;\n prevIsMain = newIsMain;\n\n if (event === \"switched-to\" && !newIsMain) return;\n if (event === \"switched-away\" && newIsMain) return;\n callback();\n });\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n}\n"],"mappings":";AAiDO,IAAM,4BAAN,MAAiE;AAAA,EAKtE,YACU,OACA,oBACR;AAFQ;AACA;AAAA,EACP;AAAA,EAPH,IAAW,OAAO;AAChB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAOU,yBAAyB;AACjC,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AACvC,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,UAAU,KAAK,QAAQ,KAAK,IAAI;AACrC,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,SAAS,KAAK,OAAO,KAAK,IAAI;AACnC,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAC3C,SAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI;AACjD,SAAK,YAAY,KAAK,UAAU,KAAK,IAAI;AACzC,SAAK,cAAc,KAAK,YAAY,KAAK,IAAI;AAC7C,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,EACzC;AAAA,EAEO,WAAgC;AACrC,WAAO,KAAK,MAAM,SAAS;AAAA,EAC7B;AAAA,EAEO,WAA0B;AAC/B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,eAAe,MAAM,EAAE;AAAA,EACxD;AAAA,EAEO,OAAO,UAAiC;AAC7C,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,OAAO,MAAM,IAAI,QAAQ;AAAA,EAC1D;AAAA,EAEO,UAAyB;AAC9B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,QAAQ,MAAM,EAAE;AAAA,EACjD;AAAA,EAEO,YAA2B;AAChC,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,UAAU,MAAM,EAAE;AAAA,EACnD;AAAA,EAEO,SAAwB;AAC7B,UAAM,QAAQ,KAAK,MAAM,SAAS;AAElC,WAAO,KAAK,mBAAmB,OAAO,MAAM,EAAE;AAAA,EAChD;AAAA,EAEO,aAGJ;AACD,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,WAAW,MAAM,EAAE;AAAA,EACpD;AAAA,EAEO,gBAA+B;AACpC,UAAM,QAAQ,KAAK,MAAM,SAAS;AAClC,WAAO,KAAK,mBAAmB,cAAc,MAAM,EAAE;AAAA,EACvD;AAAA,EAEO,YAAY,OAAgC,UAAsB;AACvE,QAAI,aAAa,KAAK,MAAM,SAAS,EAAE;AACvC,WAAO,KAAK,UAAU,MAAM;AAC1B,YAAM,YAAY,KAAK,MAAM,SAAS,EAAE;AACxC,UAAI,eAAe,UAAW;AAC9B,mBAAa;AAEb,UAAI,UAAU,iBAAiB,CAAC,UAAW;AAC3C,UAAI,UAAU,mBAAmB,UAAW;AAC5C,eAAS;AAAA,IACX,CAAC;AAAA,EACH;AAAA,EAEO,UAAU,UAAmC;AAClD,WAAO,KAAK,MAAM,UAAU,QAAQ;AAAA,EACtC;AACF;","names":[]}
@@ -0,0 +1,42 @@
1
+ import { ThreadListRuntimeCore } from "../runtimes/core/ThreadListRuntimeCore";
2
+ import { Unsubscribe } from "../types";
3
+ import { ThreadListItemRuntime, ThreadListItemRuntimeImpl } from "./ThreadListItemRuntime";
4
+ import { ThreadListItemRuntimeBinding, ThreadRuntime, ThreadRuntimeCoreBinding } from "./ThreadRuntime";
5
+ export type ThreadListState = {
6
+ readonly mainThreadId: string;
7
+ readonly newThread: string | undefined;
8
+ readonly threads: readonly string[];
9
+ readonly archivedThreads: readonly string[];
10
+ };
11
+ export type ThreadListRuntime = {
12
+ getState(): ThreadListState;
13
+ subscribe(callback: () => void): Unsubscribe;
14
+ readonly main: ThreadRuntime;
15
+ getById(threadId: string): ThreadRuntime;
16
+ readonly mainItem: ThreadListItemRuntime;
17
+ getItemById(threadId: string): ThreadListItemRuntime;
18
+ getItemByIndex(idx: number): ThreadListItemRuntime;
19
+ getArchivedItemByIndex(idx: number): ThreadListItemRuntime;
20
+ switchToThread(threadId: string): Promise<void>;
21
+ switchToNewThread(): Promise<void>;
22
+ };
23
+ export type ThreadListRuntimeCoreBinding = ThreadListRuntimeCore;
24
+ export declare class ThreadListRuntimeImpl implements ThreadListRuntime {
25
+ private _core;
26
+ private _runtimeFactory;
27
+ private _getState;
28
+ constructor(_core: ThreadListRuntimeCoreBinding, _runtimeFactory?: new (binding: ThreadRuntimeCoreBinding, threadListItemBinding: ThreadListItemRuntimeBinding) => ThreadRuntime);
29
+ protected __internal_bindMethods(): void;
30
+ switchToThread(threadId: string): Promise<void>;
31
+ switchToNewThread(): Promise<void>;
32
+ getState(): ThreadListState;
33
+ subscribe(callback: () => void): Unsubscribe;
34
+ private _mainThreadListItemRuntime;
35
+ readonly main: ThreadRuntime;
36
+ get mainItem(): ThreadListItemRuntimeImpl;
37
+ getById(threadId: string): ThreadRuntime;
38
+ getItemByIndex(idx: number): ThreadListItemRuntimeImpl;
39
+ getArchivedItemByIndex(idx: number): ThreadListItemRuntimeImpl;
40
+ getItemById(threadId: string): ThreadListItemRuntimeImpl;
41
+ }
42
+ //# sourceMappingURL=ThreadListRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadListRuntime.d.ts","sourceRoot":"","sources":["../../src/api/ThreadListRuntime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EAE1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,wBAAwB,EAEzB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,IAAI,eAAe,CAAC;IAE5B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;IAE7C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;IAEzC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAAC;IACrD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;IACnD,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAE3D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAgCF,MAAM,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAEjE,qBAAa,qBAAsB,YAAW,iBAAiB;IAG3D,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,eAAe;IAHzB,OAAO,CAAC,SAAS,CAAC;gBAER,KAAK,EAAE,4BAA4B,EACnC,eAAe,GAAE,KACvB,OAAO,EAAE,wBAAwB,EACjC,qBAAqB,EAAE,4BAA4B,KAChD,aAAiC;IAqCxC,SAAS,CAAC,sBAAsB;IAWzB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,QAAQ,IAAI,eAAe;IAI3B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW;IAInD,OAAO,CAAC,0BAA0B,CAAC;IAEnC,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,IAAW,QAAQ,8BAElB;IAEM,OAAO,CAAC,QAAQ,EAAE,MAAM;IAcxB,cAAc,CAAC,GAAG,EAAE,MAAM;IAgB1B,sBAAsB,CAAC,GAAG,EAAE,MAAM;IAmBlC,WAAW,CAAC,QAAQ,EAAE,MAAM;CAepC"}
@@ -1,14 +1,15 @@
1
- import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject";
1
+ // src/api/ThreadListRuntime.ts
2
+ import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject.js";
2
3
  import {
3
4
  ThreadListItemRuntimeImpl
4
- } from "./ThreadListItemRuntime";
5
- import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE";
6
- import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject";
5
+ } from "./ThreadListItemRuntime.js";
6
+ import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE.js";
7
+ import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject.js";
7
8
  import {
8
9
  ThreadRuntimeImpl
9
- } from "./ThreadRuntime";
10
- import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject";
11
- const getThreadListState = (threadList) => {
10
+ } from "./ThreadRuntime.js";
11
+ import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject.js";
12
+ var getThreadListState = (threadList) => {
12
13
  return {
13
14
  mainThreadId: threadList.mainThreadId,
14
15
  newThread: threadList.newThreadId,
@@ -16,7 +17,7 @@ const getThreadListState = (threadList) => {
16
17
  archivedThreads: threadList.archivedThreadIds
17
18
  };
18
19
  };
19
- const getThreadListItemState = (threadList, threadId) => {
20
+ var getThreadListItemState = (threadList, threadId) => {
20
21
  if (threadId === void 0) return SKIP_UPDATE;
21
22
  const threadData = threadList.getItemById(threadId);
22
23
  if (!threadData) return SKIP_UPDATE;
@@ -31,7 +32,7 @@ const getThreadListItemState = (threadList, threadId) => {
31
32
  isMain: threadData.threadId === threadList.mainThreadId
32
33
  };
33
34
  };
34
- class ThreadListRuntimeImpl {
35
+ var ThreadListRuntimeImpl = class {
35
36
  constructor(_core, _runtimeFactory = ThreadRuntimeImpl) {
36
37
  this._core = _core;
37
38
  this._runtimeFactory = _runtimeFactory;
@@ -157,7 +158,7 @@ class ThreadListRuntimeImpl {
157
158
  this._core
158
159
  );
159
160
  }
160
- }
161
+ };
161
162
  export {
162
163
  ThreadListRuntimeImpl
163
164
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ThreadListRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { ThreadListRuntimeCore } from \"../runtimes/core/ThreadListRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport {\n ThreadListItemRuntime,\n ThreadListItemRuntimeImpl,\n ThreadListItemState,\n} from \"./ThreadListItemRuntime\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\n\nexport type ThreadListState = {\n readonly mainThreadId: string;\n readonly newThread: string | undefined;\n readonly threads: readonly string[];\n readonly archivedThreads: readonly string[];\n};\n\nexport type ThreadListRuntime = {\n getState(): ThreadListState;\n\n subscribe(callback: () => void): Unsubscribe;\n\n readonly main: ThreadRuntime;\n getById(threadId: string): ThreadRuntime;\n\n readonly mainItem: ThreadListItemRuntime;\n getItemById(threadId: string): ThreadListItemRuntime;\n getItemByIndex(idx: number): ThreadListItemRuntime;\n getArchivedItemByIndex(idx: number): ThreadListItemRuntime;\n\n switchToThread(threadId: string): Promise<void>;\n switchToNewThread(): Promise<void>;\n};\n\nconst getThreadListState = (\n threadList: ThreadListRuntimeCore,\n): ThreadListState => {\n return {\n mainThreadId: threadList.mainThreadId,\n newThread: threadList.newThreadId,\n threads: threadList.threadIds,\n archivedThreads: threadList.archivedThreadIds,\n };\n};\n\nconst getThreadListItemState = (\n threadList: ThreadListRuntimeCore,\n threadId: string | undefined,\n): ThreadListItemState | SKIP_UPDATE => {\n if (threadId === undefined) return SKIP_UPDATE;\n\n const threadData = threadList.getItemById(threadId);\n if (!threadData) return SKIP_UPDATE;\n return {\n id: threadData.threadId,\n threadId: threadData.threadId, // TODO remove in 0.8.0\n remoteId: threadData.remoteId,\n externalId: threadData.externalId,\n title: threadData.title,\n status: threadData.status,\n isMain: threadData.threadId === threadList.mainThreadId,\n };\n};\n\nexport type ThreadListRuntimeCoreBinding = ThreadListRuntimeCore;\n\nexport class ThreadListRuntimeImpl implements ThreadListRuntime {\n private _getState;\n constructor(\n private _core: ThreadListRuntimeCoreBinding,\n private _runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: {},\n getState: () => getThreadListState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n\n this._mainThreadListItemRuntime = new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[main]`,\n threadSelector: { type: \"main\" },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.mainThreadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n\n this.main = new _runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.getMainThreadRuntimeCore(),\n subscribe: (callback) => _core.subscribe(callback),\n }),\n this._mainThreadListItemRuntime, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n protected __internal_bindMethods() {\n this.switchToThread = this.switchToThread.bind(this);\n this.switchToNewThread = this.switchToNewThread.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getById = this.getById.bind(this);\n this.getItemById = this.getItemById.bind(this);\n this.getItemByIndex = this.getItemByIndex.bind(this);\n this.getArchivedItemByIndex = this.getArchivedItemByIndex.bind(this);\n }\n\n public switchToThread(threadId: string): Promise<void> {\n return this._core.switchToThread(threadId);\n }\n\n public switchToNewThread(): Promise<void> {\n return this._core.switchToNewThread();\n }\n\n public getState(): ThreadListState {\n return this._getState();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n\n private _mainThreadListItemRuntime;\n\n public readonly main: ThreadRuntime;\n\n public get mainItem() {\n return this._mainThreadListItemRuntime;\n }\n\n public getById(threadId: string) {\n return new this._runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads[threadId=\" + JSON.stringify(threadId) + \"]\",\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => this._core.getThreadRuntimeCore(threadId),\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this.mainItem, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n public getItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[${idx}]`,\n threadSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.threadIds[idx]);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getArchivedItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `archivedThreadItems[${idx}]`,\n threadSelector: { type: \"archiveIndex\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(\n this._core,\n this._core.archivedThreadIds[idx],\n );\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getItemById(threadId: string) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[threadId=${threadId}]`,\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => {\n return getThreadListItemState(this._core, threadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/api/ThreadListRuntime.ts"],"sourcesContent":["import { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { ThreadListRuntimeCore } from \"../runtimes/core/ThreadListRuntimeCore\";\nimport { Unsubscribe } from \"../types\";\nimport {\n ThreadListItemRuntime,\n ThreadListItemRuntimeImpl,\n ThreadListItemState,\n} from \"./ThreadListItemRuntime\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n ThreadListItemRuntimeBinding,\n ThreadRuntime,\n ThreadRuntimeCoreBinding,\n ThreadRuntimeImpl,\n} from \"./ThreadRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\n\nexport type ThreadListState = {\n readonly mainThreadId: string;\n readonly newThread: string | undefined;\n readonly threads: readonly string[];\n readonly archivedThreads: readonly string[];\n};\n\nexport type ThreadListRuntime = {\n getState(): ThreadListState;\n\n subscribe(callback: () => void): Unsubscribe;\n\n readonly main: ThreadRuntime;\n getById(threadId: string): ThreadRuntime;\n\n readonly mainItem: ThreadListItemRuntime;\n getItemById(threadId: string): ThreadListItemRuntime;\n getItemByIndex(idx: number): ThreadListItemRuntime;\n getArchivedItemByIndex(idx: number): ThreadListItemRuntime;\n\n switchToThread(threadId: string): Promise<void>;\n switchToNewThread(): Promise<void>;\n};\n\nconst getThreadListState = (\n threadList: ThreadListRuntimeCore,\n): ThreadListState => {\n return {\n mainThreadId: threadList.mainThreadId,\n newThread: threadList.newThreadId,\n threads: threadList.threadIds,\n archivedThreads: threadList.archivedThreadIds,\n };\n};\n\nconst getThreadListItemState = (\n threadList: ThreadListRuntimeCore,\n threadId: string | undefined,\n): ThreadListItemState | SKIP_UPDATE => {\n if (threadId === undefined) return SKIP_UPDATE;\n\n const threadData = threadList.getItemById(threadId);\n if (!threadData) return SKIP_UPDATE;\n return {\n id: threadData.threadId,\n threadId: threadData.threadId, // TODO remove in 0.8.0\n remoteId: threadData.remoteId,\n externalId: threadData.externalId,\n title: threadData.title,\n status: threadData.status,\n isMain: threadData.threadId === threadList.mainThreadId,\n };\n};\n\nexport type ThreadListRuntimeCoreBinding = ThreadListRuntimeCore;\n\nexport class ThreadListRuntimeImpl implements ThreadListRuntime {\n private _getState;\n constructor(\n private _core: ThreadListRuntimeCoreBinding,\n private _runtimeFactory: new (\n binding: ThreadRuntimeCoreBinding,\n threadListItemBinding: ThreadListItemRuntimeBinding,\n ) => ThreadRuntime = ThreadRuntimeImpl,\n ) {\n const stateBinding = new LazyMemoizeSubject({\n path: {},\n getState: () => getThreadListState(_core),\n subscribe: (callback) => _core.subscribe(callback),\n });\n\n this._getState = stateBinding.getState.bind(stateBinding);\n\n this._mainThreadListItemRuntime = new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[main]`,\n threadSelector: { type: \"main\" },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.mainThreadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n\n this.main = new _runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads.main\",\n threadSelector: { type: \"main\" },\n },\n getState: () => _core.getMainThreadRuntimeCore(),\n subscribe: (callback) => _core.subscribe(callback),\n }),\n this._mainThreadListItemRuntime, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n protected __internal_bindMethods() {\n this.switchToThread = this.switchToThread.bind(this);\n this.switchToNewThread = this.switchToNewThread.bind(this);\n this.getState = this.getState.bind(this);\n this.subscribe = this.subscribe.bind(this);\n this.getById = this.getById.bind(this);\n this.getItemById = this.getItemById.bind(this);\n this.getItemByIndex = this.getItemByIndex.bind(this);\n this.getArchivedItemByIndex = this.getArchivedItemByIndex.bind(this);\n }\n\n public switchToThread(threadId: string): Promise<void> {\n return this._core.switchToThread(threadId);\n }\n\n public switchToNewThread(): Promise<void> {\n return this._core.switchToNewThread();\n }\n\n public getState(): ThreadListState {\n return this._getState();\n }\n\n public subscribe(callback: () => void): Unsubscribe {\n return this._core.subscribe(callback);\n }\n\n private _mainThreadListItemRuntime;\n\n public readonly main: ThreadRuntime;\n\n public get mainItem() {\n return this._mainThreadListItemRuntime;\n }\n\n public getById(threadId: string) {\n return new this._runtimeFactory(\n new NestedSubscriptionSubject({\n path: {\n ref: \"threads[threadId=\" + JSON.stringify(threadId) + \"]\",\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => this._core.getThreadRuntimeCore(threadId),\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this.mainItem, // TODO capture \"main\" threadListItem from context around useLocalRuntime / useExternalStoreRuntime\n );\n }\n\n public getItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[${idx}]`,\n threadSelector: { type: \"index\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(this._core, this._core.threadIds[idx]);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getArchivedItemByIndex(idx: number) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `archivedThreadItems[${idx}]`,\n threadSelector: { type: \"archiveIndex\", index: idx },\n },\n getState: () => {\n return getThreadListItemState(\n this._core,\n this._core.archivedThreadIds[idx],\n );\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n\n public getItemById(threadId: string) {\n return new ThreadListItemRuntimeImpl(\n new ShallowMemoizeSubject({\n path: {\n ref: `threadItems[threadId=${threadId}]`,\n threadSelector: { type: \"threadId\", threadId },\n },\n getState: () => {\n return getThreadListItemState(this._core, threadId);\n },\n subscribe: (callback) => this._core.subscribe(callback),\n }),\n this._core,\n );\n }\n}\n"],"mappings":"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","names":[]}