@assistant-ui/react 0.5.97 → 0.5.98

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 (979) hide show
  1. package/dist/api/AssistantRuntime.js +9 -7
  2. package/dist/api/AssistantRuntime.js.map +1 -1
  3. package/dist/api/AssistantRuntime.mjs +8 -7
  4. package/dist/api/AssistantRuntime.mjs.map +1 -1
  5. package/dist/api/AttachmentRuntime.js +12 -10
  6. package/dist/api/AttachmentRuntime.js.map +1 -1
  7. package/dist/api/AttachmentRuntime.mjs +11 -10
  8. package/dist/api/AttachmentRuntime.mjs.map +1 -1
  9. package/dist/api/ComposerRuntime.js +16 -14
  10. package/dist/api/ComposerRuntime.js.map +1 -1
  11. package/dist/api/ComposerRuntime.mjs +15 -14
  12. package/dist/api/ComposerRuntime.mjs.map +1 -1
  13. package/dist/api/ContentPartRuntime.js +4 -2
  14. package/dist/api/ContentPartRuntime.js.map +1 -1
  15. package/dist/api/ContentPartRuntime.mjs +3 -2
  16. package/dist/api/ContentPartRuntime.mjs.map +1 -1
  17. package/dist/api/MessageRuntime.js +15 -13
  18. package/dist/api/MessageRuntime.js.map +1 -1
  19. package/dist/api/MessageRuntime.mjs +14 -13
  20. package/dist/api/MessageRuntime.mjs.map +1 -1
  21. package/dist/api/RuntimePathTypes.js +2 -0
  22. package/dist/api/RuntimePathTypes.js.map +1 -1
  23. package/dist/api/ThreadManagerRuntime.js +7 -5
  24. package/dist/api/ThreadManagerRuntime.js.map +1 -1
  25. package/dist/api/ThreadManagerRuntime.mjs +6 -5
  26. package/dist/api/ThreadManagerRuntime.mjs.map +1 -1
  27. package/dist/api/ThreadRuntime.js +12 -10
  28. package/dist/api/ThreadRuntime.js.map +1 -1
  29. package/dist/api/ThreadRuntime.mjs +11 -10
  30. package/dist/api/ThreadRuntime.mjs.map +1 -1
  31. package/dist/api/index.js +2 -0
  32. package/dist/api/index.js.map +1 -1
  33. package/dist/api/subscribable/BaseSubject.js +4 -2
  34. package/dist/api/subscribable/BaseSubject.js.map +1 -1
  35. package/dist/api/subscribable/BaseSubject.mjs +3 -2
  36. package/dist/api/subscribable/BaseSubject.mjs.map +1 -1
  37. package/dist/api/subscribable/LazyMemoizeSubject.js +6 -4
  38. package/dist/api/subscribable/LazyMemoizeSubject.js.map +1 -1
  39. package/dist/api/subscribable/LazyMemoizeSubject.mjs +5 -4
  40. package/dist/api/subscribable/LazyMemoizeSubject.mjs.map +1 -1
  41. package/dist/api/subscribable/NestedSubscriptionSubject.js +5 -3
  42. package/dist/api/subscribable/NestedSubscriptionSubject.js.map +1 -1
  43. package/dist/api/subscribable/NestedSubscriptionSubject.mjs +4 -3
  44. package/dist/api/subscribable/NestedSubscriptionSubject.mjs.map +1 -1
  45. package/dist/api/subscribable/SKIP_UPDATE.js +3 -1
  46. package/dist/api/subscribable/SKIP_UPDATE.js.map +1 -1
  47. package/dist/api/subscribable/SKIP_UPDATE.mjs +2 -1
  48. package/dist/api/subscribable/SKIP_UPDATE.mjs.map +1 -1
  49. package/dist/api/subscribable/ShallowMemoizeSubject.js +7 -5
  50. package/dist/api/subscribable/ShallowMemoizeSubject.js.map +1 -1
  51. package/dist/api/subscribable/ShallowMemoizeSubject.mjs +6 -5
  52. package/dist/api/subscribable/ShallowMemoizeSubject.mjs.map +1 -1
  53. package/dist/api/subscribable/Subscribable.js +2 -0
  54. package/dist/api/subscribable/Subscribable.js.map +1 -1
  55. package/dist/api/subscribable/shallowEqual.js +2 -0
  56. package/dist/api/subscribable/shallowEqual.js.map +1 -1
  57. package/dist/api/subscribable/shallowEqual.mjs +1 -0
  58. package/dist/api/subscribable/shallowEqual.mjs.map +1 -1
  59. package/dist/context/ReadonlyStore.js +3 -1
  60. package/dist/context/ReadonlyStore.js.map +1 -1
  61. package/dist/context/ReadonlyStore.mjs +2 -1
  62. package/dist/context/ReadonlyStore.mjs.map +1 -1
  63. package/dist/context/index.js +8 -6
  64. package/dist/context/index.js.map +1 -1
  65. package/dist/context/index.mjs +4 -3
  66. package/dist/context/index.mjs.map +1 -1
  67. package/dist/context/providers/AssistantRuntimeProvider.js +12 -10
  68. package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
  69. package/dist/context/providers/AssistantRuntimeProvider.mjs +12 -10
  70. package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
  71. package/dist/context/providers/AttachmentRuntimeProvider.js +8 -6
  72. package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
  73. package/dist/context/providers/AttachmentRuntimeProvider.mjs +8 -6
  74. package/dist/context/providers/AttachmentRuntimeProvider.mjs.map +1 -1
  75. package/dist/context/providers/ContentPartRuntimeProvider.js +8 -6
  76. package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
  77. package/dist/context/providers/ContentPartRuntimeProvider.mjs +8 -6
  78. package/dist/context/providers/ContentPartRuntimeProvider.mjs.map +1 -1
  79. package/dist/context/providers/MessageRuntimeProvider.js +11 -9
  80. package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
  81. package/dist/context/providers/MessageRuntimeProvider.mjs +11 -9
  82. package/dist/context/providers/MessageRuntimeProvider.mjs.map +1 -1
  83. package/dist/context/providers/TextContentPartProvider.js +9 -7
  84. package/dist/context/providers/TextContentPartProvider.js.map +1 -1
  85. package/dist/context/providers/TextContentPartProvider.mjs +9 -7
  86. package/dist/context/providers/TextContentPartProvider.mjs.map +1 -1
  87. package/dist/context/providers/ThreadRuntimeProvider.js +11 -9
  88. package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
  89. package/dist/context/providers/ThreadRuntimeProvider.mjs +10 -9
  90. package/dist/context/providers/ThreadRuntimeProvider.mjs.map +1 -1
  91. package/dist/context/providers/index.js +4 -2
  92. package/dist/context/providers/index.js.map +1 -1
  93. package/dist/context/providers/index.mjs +3 -2
  94. package/dist/context/providers/index.mjs.map +1 -1
  95. package/dist/context/react/AssistantContext.js +12 -10
  96. package/dist/context/react/AssistantContext.js.map +1 -1
  97. package/dist/context/react/AssistantContext.mjs +12 -10
  98. package/dist/context/react/AssistantContext.mjs.map +1 -1
  99. package/dist/context/react/AttachmentContext.js +8 -6
  100. package/dist/context/react/AttachmentContext.js.map +1 -1
  101. package/dist/context/react/AttachmentContext.mjs +8 -6
  102. package/dist/context/react/AttachmentContext.mjs.map +1 -1
  103. package/dist/context/react/ComposerContext.js +7 -5
  104. package/dist/context/react/ComposerContext.js.map +1 -1
  105. package/dist/context/react/ComposerContext.mjs +6 -5
  106. package/dist/context/react/ComposerContext.mjs.map +1 -1
  107. package/dist/context/react/ContentPartContext.js +7 -5
  108. package/dist/context/react/ContentPartContext.js.map +1 -1
  109. package/dist/context/react/ContentPartContext.mjs +7 -5
  110. package/dist/context/react/ContentPartContext.mjs.map +1 -1
  111. package/dist/context/react/MessageContext.js +9 -7
  112. package/dist/context/react/MessageContext.js.map +1 -1
  113. package/dist/context/react/MessageContext.mjs +9 -7
  114. package/dist/context/react/MessageContext.mjs.map +1 -1
  115. package/dist/context/react/ThreadContext.js +16 -14
  116. package/dist/context/react/ThreadContext.js.map +1 -1
  117. package/dist/context/react/ThreadContext.mjs +16 -14
  118. package/dist/context/react/ThreadContext.mjs.map +1 -1
  119. package/dist/context/react/index.js +8 -6
  120. package/dist/context/react/index.js.map +1 -1
  121. package/dist/context/react/index.mjs +7 -6
  122. package/dist/context/react/index.mjs.map +1 -1
  123. package/dist/context/react/utils/createContextHook.js +2 -0
  124. package/dist/context/react/utils/createContextHook.js.map +1 -1
  125. package/dist/context/react/utils/createContextHook.mjs +1 -0
  126. package/dist/context/react/utils/createContextHook.mjs.map +1 -1
  127. package/dist/context/react/utils/createContextStoreHook.js +2 -0
  128. package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
  129. package/dist/context/react/utils/createContextStoreHook.mjs +1 -0
  130. package/dist/context/react/utils/createContextStoreHook.mjs.map +1 -1
  131. package/dist/context/stores/AssistantToolUIs.js +3 -1
  132. package/dist/context/stores/AssistantToolUIs.js.map +1 -1
  133. package/dist/context/stores/AssistantToolUIs.mjs +3 -1
  134. package/dist/context/stores/AssistantToolUIs.mjs.map +1 -1
  135. package/dist/context/stores/MessageUtils.js +3 -1
  136. package/dist/context/stores/MessageUtils.js.map +1 -1
  137. package/dist/context/stores/MessageUtils.mjs +2 -1
  138. package/dist/context/stores/MessageUtils.mjs.map +1 -1
  139. package/dist/context/stores/ThreadViewport.js +3 -1
  140. package/dist/context/stores/ThreadViewport.js.map +1 -1
  141. package/dist/context/stores/ThreadViewport.mjs +3 -1
  142. package/dist/context/stores/ThreadViewport.mjs.map +1 -1
  143. package/dist/context/stores/index.js +2 -0
  144. package/dist/context/stores/index.js.map +1 -1
  145. package/dist/edge.js +3 -1
  146. package/dist/edge.js.map +1 -1
  147. package/dist/edge.mjs +2 -1
  148. package/dist/edge.mjs.map +1 -1
  149. package/dist/hooks/index.js +4 -2
  150. package/dist/hooks/index.js.map +1 -1
  151. package/dist/hooks/index.mjs +3 -2
  152. package/dist/hooks/index.mjs.map +1 -1
  153. package/dist/hooks/useAppendMessage.js +4 -2
  154. package/dist/hooks/useAppendMessage.js.map +1 -1
  155. package/dist/hooks/useAppendMessage.mjs +3 -2
  156. package/dist/hooks/useAppendMessage.mjs.map +1 -1
  157. package/dist/hooks/useSwitchToNewThread.js +4 -2
  158. package/dist/hooks/useSwitchToNewThread.js.map +1 -1
  159. package/dist/hooks/useSwitchToNewThread.mjs +3 -2
  160. package/dist/hooks/useSwitchToNewThread.mjs.map +1 -1
  161. package/dist/index.js +21 -19
  162. package/dist/index.js.map +1 -1
  163. package/dist/index.mjs +11 -10
  164. package/dist/index.mjs.map +1 -1
  165. package/dist/internal.js +12 -10
  166. package/dist/internal.js.map +1 -1
  167. package/dist/internal.mjs +10 -9
  168. package/dist/internal.mjs.map +1 -1
  169. package/dist/model-config/index.js +8 -6
  170. package/dist/model-config/index.js.map +1 -1
  171. package/dist/model-config/index.mjs +7 -6
  172. package/dist/model-config/index.mjs.map +1 -1
  173. package/dist/model-config/makeAssistantTool.js +4 -2
  174. package/dist/model-config/makeAssistantTool.js.map +1 -1
  175. package/dist/model-config/makeAssistantTool.mjs +4 -2
  176. package/dist/model-config/makeAssistantTool.mjs.map +1 -1
  177. package/dist/model-config/makeAssistantToolUI.js +4 -2
  178. package/dist/model-config/makeAssistantToolUI.js.map +1 -1
  179. package/dist/model-config/makeAssistantToolUI.mjs +4 -2
  180. package/dist/model-config/makeAssistantToolUI.mjs.map +1 -1
  181. package/dist/model-config/useAssistantInstructions.js +4 -2
  182. package/dist/model-config/useAssistantInstructions.js.map +1 -1
  183. package/dist/model-config/useAssistantInstructions.mjs +4 -2
  184. package/dist/model-config/useAssistantInstructions.mjs.map +1 -1
  185. package/dist/model-config/useAssistantTool.js +4 -2
  186. package/dist/model-config/useAssistantTool.js.map +1 -1
  187. package/dist/model-config/useAssistantTool.mjs +4 -2
  188. package/dist/model-config/useAssistantTool.mjs.map +1 -1
  189. package/dist/model-config/useAssistantToolUI.js +4 -2
  190. package/dist/model-config/useAssistantToolUI.js.map +1 -1
  191. package/dist/model-config/useAssistantToolUI.mjs +4 -2
  192. package/dist/model-config/useAssistantToolUI.mjs.map +1 -1
  193. package/dist/model-config/useInlineRender.js +3 -1
  194. package/dist/model-config/useInlineRender.js.map +1 -1
  195. package/dist/model-config/useInlineRender.mjs +2 -1
  196. package/dist/model-config/useInlineRender.mjs.map +1 -1
  197. package/dist/primitive-hooks/actionBar/index.js +9 -7
  198. package/dist/primitive-hooks/actionBar/index.js.map +1 -1
  199. package/dist/primitive-hooks/actionBar/index.mjs +8 -7
  200. package/dist/primitive-hooks/actionBar/index.mjs.map +1 -1
  201. package/dist/primitive-hooks/actionBar/useActionBarCopy.js +5 -3
  202. package/dist/primitive-hooks/actionBar/useActionBarCopy.js.map +1 -1
  203. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs +4 -3
  204. package/dist/primitive-hooks/actionBar/useActionBarCopy.mjs.map +1 -1
  205. package/dist/primitive-hooks/actionBar/useActionBarEdit.js +4 -2
  206. package/dist/primitive-hooks/actionBar/useActionBarEdit.js.map +1 -1
  207. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs +3 -2
  208. package/dist/primitive-hooks/actionBar/useActionBarEdit.mjs.map +1 -1
  209. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js +4 -2
  210. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.js.map +1 -1
  211. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs +3 -2
  212. package/dist/primitive-hooks/actionBar/useActionBarFeedbackNegative.mjs.map +1 -1
  213. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js +4 -2
  214. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.js.map +1 -1
  215. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs +3 -2
  216. package/dist/primitive-hooks/actionBar/useActionBarFeedbackPositive.mjs.map +1 -1
  217. package/dist/primitive-hooks/actionBar/useActionBarReload.js +6 -4
  218. package/dist/primitive-hooks/actionBar/useActionBarReload.js.map +1 -1
  219. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs +5 -4
  220. package/dist/primitive-hooks/actionBar/useActionBarReload.mjs.map +1 -1
  221. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js +4 -2
  222. package/dist/primitive-hooks/actionBar/useActionBarSpeak.js.map +1 -1
  223. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs +3 -2
  224. package/dist/primitive-hooks/actionBar/useActionBarSpeak.mjs.map +1 -1
  225. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js +4 -2
  226. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.js.map +1 -1
  227. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs +3 -2
  228. package/dist/primitive-hooks/actionBar/useActionBarStopSpeaking.mjs.map +1 -1
  229. package/dist/primitive-hooks/attachment/useAttachmentRemove.js +4 -2
  230. package/dist/primitive-hooks/attachment/useAttachmentRemove.js.map +1 -1
  231. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs +3 -2
  232. package/dist/primitive-hooks/attachment/useAttachmentRemove.mjs.map +1 -1
  233. package/dist/primitive-hooks/branchPicker/index.js +6 -4
  234. package/dist/primitive-hooks/branchPicker/index.js.map +1 -1
  235. package/dist/primitive-hooks/branchPicker/index.mjs +5 -4
  236. package/dist/primitive-hooks/branchPicker/index.mjs.map +1 -1
  237. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js +4 -2
  238. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.js.map +1 -1
  239. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs +4 -2
  240. package/dist/primitive-hooks/branchPicker/useBranchPickerCount.mjs.map +1 -1
  241. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js +4 -2
  242. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.js.map +1 -1
  243. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs +3 -2
  244. package/dist/primitive-hooks/branchPicker/useBranchPickerNext.mjs.map +1 -1
  245. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js +4 -2
  246. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.js.map +1 -1
  247. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs +4 -2
  248. package/dist/primitive-hooks/branchPicker/useBranchPickerNumber.mjs.map +1 -1
  249. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js +4 -2
  250. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.js.map +1 -1
  251. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs +3 -2
  252. package/dist/primitive-hooks/branchPicker/useBranchPickerPrevious.mjs.map +1 -1
  253. package/dist/primitive-hooks/composer/index.js +6 -4
  254. package/dist/primitive-hooks/composer/index.js.map +1 -1
  255. package/dist/primitive-hooks/composer/index.mjs +5 -4
  256. package/dist/primitive-hooks/composer/index.mjs.map +1 -1
  257. package/dist/primitive-hooks/composer/useComposerAddAttachment.js +4 -2
  258. package/dist/primitive-hooks/composer/useComposerAddAttachment.js.map +1 -1
  259. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs +3 -2
  260. package/dist/primitive-hooks/composer/useComposerAddAttachment.mjs.map +1 -1
  261. package/dist/primitive-hooks/composer/useComposerCancel.js +4 -2
  262. package/dist/primitive-hooks/composer/useComposerCancel.js.map +1 -1
  263. package/dist/primitive-hooks/composer/useComposerCancel.mjs +3 -2
  264. package/dist/primitive-hooks/composer/useComposerCancel.mjs.map +1 -1
  265. package/dist/primitive-hooks/composer/useComposerIf.js +4 -2
  266. package/dist/primitive-hooks/composer/useComposerIf.js.map +1 -1
  267. package/dist/primitive-hooks/composer/useComposerIf.mjs +4 -2
  268. package/dist/primitive-hooks/composer/useComposerIf.mjs.map +1 -1
  269. package/dist/primitive-hooks/composer/useComposerSend.js +6 -4
  270. package/dist/primitive-hooks/composer/useComposerSend.js.map +1 -1
  271. package/dist/primitive-hooks/composer/useComposerSend.mjs +5 -4
  272. package/dist/primitive-hooks/composer/useComposerSend.mjs.map +1 -1
  273. package/dist/primitive-hooks/contentPart/index.js +5 -3
  274. package/dist/primitive-hooks/contentPart/index.js.map +1 -1
  275. package/dist/primitive-hooks/contentPart/index.mjs +4 -3
  276. package/dist/primitive-hooks/contentPart/index.mjs.map +1 -1
  277. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js +4 -2
  278. package/dist/primitive-hooks/contentPart/useContentPartDisplay.js.map +1 -1
  279. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs +3 -2
  280. package/dist/primitive-hooks/contentPart/useContentPartDisplay.mjs.map +1 -1
  281. package/dist/primitive-hooks/contentPart/useContentPartImage.js +4 -2
  282. package/dist/primitive-hooks/contentPart/useContentPartImage.js.map +1 -1
  283. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs +3 -2
  284. package/dist/primitive-hooks/contentPart/useContentPartImage.mjs.map +1 -1
  285. package/dist/primitive-hooks/contentPart/useContentPartText.js +4 -2
  286. package/dist/primitive-hooks/contentPart/useContentPartText.js.map +1 -1
  287. package/dist/primitive-hooks/contentPart/useContentPartText.mjs +3 -2
  288. package/dist/primitive-hooks/contentPart/useContentPartText.mjs.map +1 -1
  289. package/dist/primitive-hooks/index.js +14 -12
  290. package/dist/primitive-hooks/index.js.map +1 -1
  291. package/dist/primitive-hooks/index.mjs +7 -6
  292. package/dist/primitive-hooks/index.mjs.map +1 -1
  293. package/dist/primitive-hooks/message/index.js +3 -1
  294. package/dist/primitive-hooks/message/index.js.map +1 -1
  295. package/dist/primitive-hooks/message/index.mjs +2 -1
  296. package/dist/primitive-hooks/message/index.mjs.map +1 -1
  297. package/dist/primitive-hooks/message/useMessageIf.js +5 -3
  298. package/dist/primitive-hooks/message/useMessageIf.js.map +1 -1
  299. package/dist/primitive-hooks/message/useMessageIf.mjs +5 -3
  300. package/dist/primitive-hooks/message/useMessageIf.mjs.map +1 -1
  301. package/dist/primitive-hooks/thread/index.js +6 -4
  302. package/dist/primitive-hooks/thread/index.js.map +1 -1
  303. package/dist/primitive-hooks/thread/index.mjs +5 -4
  304. package/dist/primitive-hooks/thread/index.mjs.map +1 -1
  305. package/dist/primitive-hooks/thread/useThreadEmpty.js +4 -2
  306. package/dist/primitive-hooks/thread/useThreadEmpty.js.map +1 -1
  307. package/dist/primitive-hooks/thread/useThreadEmpty.mjs +3 -2
  308. package/dist/primitive-hooks/thread/useThreadEmpty.mjs.map +1 -1
  309. package/dist/primitive-hooks/thread/useThreadIf.js +4 -2
  310. package/dist/primitive-hooks/thread/useThreadIf.js.map +1 -1
  311. package/dist/primitive-hooks/thread/useThreadIf.mjs +4 -2
  312. package/dist/primitive-hooks/thread/useThreadIf.mjs.map +1 -1
  313. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js +5 -3
  314. package/dist/primitive-hooks/thread/useThreadScrollToBottom.js.map +1 -1
  315. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs +4 -3
  316. package/dist/primitive-hooks/thread/useThreadScrollToBottom.mjs.map +1 -1
  317. package/dist/primitive-hooks/thread/useThreadSuggestion.js +5 -3
  318. package/dist/primitive-hooks/thread/useThreadSuggestion.js.map +1 -1
  319. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs +4 -3
  320. package/dist/primitive-hooks/thread/useThreadSuggestion.mjs.map +1 -1
  321. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js +8 -6
  322. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.js.map +1 -1
  323. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs +8 -6
  324. package/dist/primitive-hooks/thread/useThreadViewportAutoScroll.mjs.map +1 -1
  325. package/dist/primitives/actionBar/ActionBarCopy.js +6 -4
  326. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  327. package/dist/primitives/actionBar/ActionBarCopy.mjs +6 -4
  328. package/dist/primitives/actionBar/ActionBarCopy.mjs.map +1 -1
  329. package/dist/primitives/actionBar/ActionBarEdit.js +5 -3
  330. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  331. package/dist/primitives/actionBar/ActionBarEdit.mjs +5 -3
  332. package/dist/primitives/actionBar/ActionBarEdit.mjs.map +1 -1
  333. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +6 -4
  334. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  335. package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs +6 -4
  336. package/dist/primitives/actionBar/ActionBarFeedbackNegative.mjs.map +1 -1
  337. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -4
  338. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  339. package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs +6 -4
  340. package/dist/primitives/actionBar/ActionBarFeedbackPositive.mjs.map +1 -1
  341. package/dist/primitives/actionBar/ActionBarReload.js +5 -3
  342. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  343. package/dist/primitives/actionBar/ActionBarReload.mjs +5 -3
  344. package/dist/primitives/actionBar/ActionBarReload.mjs.map +1 -1
  345. package/dist/primitives/actionBar/ActionBarRoot.js +5 -3
  346. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  347. package/dist/primitives/actionBar/ActionBarRoot.mjs +5 -3
  348. package/dist/primitives/actionBar/ActionBarRoot.mjs.map +1 -1
  349. package/dist/primitives/actionBar/ActionBarSpeak.js +5 -3
  350. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  351. package/dist/primitives/actionBar/ActionBarSpeak.mjs +5 -3
  352. package/dist/primitives/actionBar/ActionBarSpeak.mjs.map +1 -1
  353. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +5 -3
  354. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  355. package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs +5 -3
  356. package/dist/primitives/actionBar/ActionBarStopSpeaking.mjs.map +1 -1
  357. package/dist/primitives/actionBar/index.js +10 -8
  358. package/dist/primitives/actionBar/index.js.map +1 -1
  359. package/dist/primitives/actionBar/index.mjs +9 -8
  360. package/dist/primitives/actionBar/index.mjs.map +1 -1
  361. package/dist/primitives/actionBar/types.js +2 -0
  362. package/dist/primitives/actionBar/types.js.map +1 -1
  363. package/dist/primitives/actionBar/useActionBarFloatStatus.js +6 -4
  364. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  365. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs +6 -4
  366. package/dist/primitives/actionBar/useActionBarFloatStatus.mjs.map +1 -1
  367. package/dist/primitives/assistantModal/AssistantModalAnchor.js +5 -3
  368. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  369. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs +5 -3
  370. package/dist/primitives/assistantModal/AssistantModalAnchor.mjs.map +1 -1
  371. package/dist/primitives/assistantModal/AssistantModalContent.js +5 -3
  372. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  373. package/dist/primitives/assistantModal/AssistantModalContent.mjs +5 -3
  374. package/dist/primitives/assistantModal/AssistantModalContent.mjs.map +1 -1
  375. package/dist/primitives/assistantModal/AssistantModalRoot.js +7 -5
  376. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  377. package/dist/primitives/assistantModal/AssistantModalRoot.mjs +7 -5
  378. package/dist/primitives/assistantModal/AssistantModalRoot.mjs.map +1 -1
  379. package/dist/primitives/assistantModal/AssistantModalTrigger.js +5 -3
  380. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  381. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs +5 -3
  382. package/dist/primitives/assistantModal/AssistantModalTrigger.mjs.map +1 -1
  383. package/dist/primitives/assistantModal/index.js +6 -4
  384. package/dist/primitives/assistantModal/index.js.map +1 -1
  385. package/dist/primitives/assistantModal/index.mjs +5 -4
  386. package/dist/primitives/assistantModal/index.mjs.map +1 -1
  387. package/dist/primitives/assistantModal/scope.js +3 -1
  388. package/dist/primitives/assistantModal/scope.js.map +1 -1
  389. package/dist/primitives/assistantModal/scope.mjs +2 -1
  390. package/dist/primitives/assistantModal/scope.mjs.map +1 -1
  391. package/dist/primitives/assistantModal/types.js +2 -0
  392. package/dist/primitives/assistantModal/types.js.map +1 -1
  393. package/dist/primitives/attachment/AttachmentName.js +4 -2
  394. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  395. package/dist/primitives/attachment/AttachmentName.mjs +4 -2
  396. package/dist/primitives/attachment/AttachmentName.mjs.map +1 -1
  397. package/dist/primitives/attachment/AttachmentRemove.js +5 -3
  398. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  399. package/dist/primitives/attachment/AttachmentRemove.mjs +5 -3
  400. package/dist/primitives/attachment/AttachmentRemove.mjs.map +1 -1
  401. package/dist/primitives/attachment/AttachmentRoot.js +4 -2
  402. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  403. package/dist/primitives/attachment/AttachmentRoot.mjs +3 -2
  404. package/dist/primitives/attachment/AttachmentRoot.mjs.map +1 -1
  405. package/dist/primitives/attachment/AttachmentThumb.js +5 -3
  406. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  407. package/dist/primitives/attachment/AttachmentThumb.mjs +5 -3
  408. package/dist/primitives/attachment/AttachmentThumb.mjs.map +1 -1
  409. package/dist/primitives/attachment/index.js +6 -4
  410. package/dist/primitives/attachment/index.js.map +1 -1
  411. package/dist/primitives/attachment/index.mjs +5 -4
  412. package/dist/primitives/attachment/index.mjs.map +1 -1
  413. package/dist/primitives/branchPicker/BranchPickerCount.js +4 -2
  414. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  415. package/dist/primitives/branchPicker/BranchPickerCount.mjs +4 -2
  416. package/dist/primitives/branchPicker/BranchPickerCount.mjs.map +1 -1
  417. package/dist/primitives/branchPicker/BranchPickerNext.js +5 -3
  418. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  419. package/dist/primitives/branchPicker/BranchPickerNext.mjs +5 -3
  420. package/dist/primitives/branchPicker/BranchPickerNext.mjs.map +1 -1
  421. package/dist/primitives/branchPicker/BranchPickerNumber.js +4 -2
  422. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  423. package/dist/primitives/branchPicker/BranchPickerNumber.mjs +4 -2
  424. package/dist/primitives/branchPicker/BranchPickerNumber.mjs.map +1 -1
  425. package/dist/primitives/branchPicker/BranchPickerPrevious.js +5 -3
  426. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  427. package/dist/primitives/branchPicker/BranchPickerPrevious.mjs +5 -3
  428. package/dist/primitives/branchPicker/BranchPickerPrevious.mjs.map +1 -1
  429. package/dist/primitives/branchPicker/BranchPickerRoot.js +5 -3
  430. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  431. package/dist/primitives/branchPicker/BranchPickerRoot.mjs +5 -3
  432. package/dist/primitives/branchPicker/BranchPickerRoot.mjs.map +1 -1
  433. package/dist/primitives/branchPicker/index.js +7 -5
  434. package/dist/primitives/branchPicker/index.js.map +1 -1
  435. package/dist/primitives/branchPicker/index.mjs +6 -5
  436. package/dist/primitives/branchPicker/index.mjs.map +1 -1
  437. package/dist/primitives/branchPicker/types.js +2 -0
  438. package/dist/primitives/branchPicker/types.js.map +1 -1
  439. package/dist/primitives/composer/ComposerAddAttachment.js +5 -3
  440. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  441. package/dist/primitives/composer/ComposerAddAttachment.mjs +5 -3
  442. package/dist/primitives/composer/ComposerAddAttachment.mjs.map +1 -1
  443. package/dist/primitives/composer/ComposerAttachments.js +11 -9
  444. package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
  445. package/dist/primitives/composer/ComposerAttachments.mjs +11 -9
  446. package/dist/primitives/composer/ComposerAttachments.mjs.map +1 -1
  447. package/dist/primitives/composer/ComposerCancel.js +5 -3
  448. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  449. package/dist/primitives/composer/ComposerCancel.mjs +5 -3
  450. package/dist/primitives/composer/ComposerCancel.mjs.map +1 -1
  451. package/dist/primitives/composer/ComposerIf.js +4 -2
  452. package/dist/primitives/composer/ComposerIf.js.map +1 -1
  453. package/dist/primitives/composer/ComposerIf.mjs +4 -2
  454. package/dist/primitives/composer/ComposerIf.mjs.map +1 -1
  455. package/dist/primitives/composer/ComposerInput.js +7 -5
  456. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  457. package/dist/primitives/composer/ComposerInput.mjs +7 -5
  458. package/dist/primitives/composer/ComposerInput.mjs.map +1 -1
  459. package/dist/primitives/composer/ComposerRoot.js +5 -3
  460. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  461. package/dist/primitives/composer/ComposerRoot.mjs +5 -3
  462. package/dist/primitives/composer/ComposerRoot.mjs.map +1 -1
  463. package/dist/primitives/composer/ComposerSend.js +5 -3
  464. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  465. package/dist/primitives/composer/ComposerSend.mjs +5 -3
  466. package/dist/primitives/composer/ComposerSend.mjs.map +1 -1
  467. package/dist/primitives/composer/index.js +9 -7
  468. package/dist/primitives/composer/index.js.map +1 -1
  469. package/dist/primitives/composer/index.mjs +8 -7
  470. package/dist/primitives/composer/index.mjs.map +1 -1
  471. package/dist/primitives/composer/types.js +2 -0
  472. package/dist/primitives/composer/types.js.map +1 -1
  473. package/dist/primitives/contentPart/ContentPartDisplay.js +4 -2
  474. package/dist/primitives/contentPart/ContentPartDisplay.js.map +1 -1
  475. package/dist/primitives/contentPart/ContentPartDisplay.mjs +3 -2
  476. package/dist/primitives/contentPart/ContentPartDisplay.mjs.map +1 -1
  477. package/dist/primitives/contentPart/ContentPartImage.js +5 -3
  478. package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
  479. package/dist/primitives/contentPart/ContentPartImage.mjs +4 -3
  480. package/dist/primitives/contentPart/ContentPartImage.mjs.map +1 -1
  481. package/dist/primitives/contentPart/ContentPartInProgress.js +4 -2
  482. package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
  483. package/dist/primitives/contentPart/ContentPartInProgress.mjs +3 -2
  484. package/dist/primitives/contentPart/ContentPartInProgress.mjs.map +1 -1
  485. package/dist/primitives/contentPart/ContentPartText.js +6 -4
  486. package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
  487. package/dist/primitives/contentPart/ContentPartText.mjs +6 -4
  488. package/dist/primitives/contentPart/ContentPartText.mjs.map +1 -1
  489. package/dist/primitives/contentPart/index.js +6 -4
  490. package/dist/primitives/contentPart/index.js.map +1 -1
  491. package/dist/primitives/contentPart/index.mjs +5 -4
  492. package/dist/primitives/contentPart/index.mjs.map +1 -1
  493. package/dist/primitives/contentPart/types.js +2 -0
  494. package/dist/primitives/contentPart/types.js.map +1 -1
  495. package/dist/primitives/index.js +10 -8
  496. package/dist/primitives/index.js.map +1 -1
  497. package/dist/primitives/index.mjs +9 -8
  498. package/dist/primitives/index.mjs.map +1 -1
  499. package/dist/primitives/message/MessageAttachments.js +11 -9
  500. package/dist/primitives/message/MessageAttachments.js.map +1 -1
  501. package/dist/primitives/message/MessageAttachments.mjs +11 -9
  502. package/dist/primitives/message/MessageAttachments.mjs.map +1 -1
  503. package/dist/primitives/message/MessageContent.js +17 -15
  504. package/dist/primitives/message/MessageContent.js.map +1 -1
  505. package/dist/primitives/message/MessageContent.mjs +17 -15
  506. package/dist/primitives/message/MessageContent.mjs.map +1 -1
  507. package/dist/primitives/message/MessageIf.js +4 -2
  508. package/dist/primitives/message/MessageIf.js.map +1 -1
  509. package/dist/primitives/message/MessageIf.mjs +4 -2
  510. package/dist/primitives/message/MessageIf.mjs.map +1 -1
  511. package/dist/primitives/message/MessageInProgress.js +3 -1
  512. package/dist/primitives/message/MessageInProgress.js.map +1 -1
  513. package/dist/primitives/message/MessageInProgress.mjs +3 -1
  514. package/dist/primitives/message/MessageInProgress.mjs.map +1 -1
  515. package/dist/primitives/message/MessageRoot.js +7 -5
  516. package/dist/primitives/message/MessageRoot.js.map +1 -1
  517. package/dist/primitives/message/MessageRoot.mjs +7 -5
  518. package/dist/primitives/message/MessageRoot.mjs.map +1 -1
  519. package/dist/primitives/message/index.js +7 -5
  520. package/dist/primitives/message/index.js.map +1 -1
  521. package/dist/primitives/message/index.mjs +6 -5
  522. package/dist/primitives/message/index.mjs.map +1 -1
  523. package/dist/primitives/message/types.js +2 -0
  524. package/dist/primitives/message/types.js.map +1 -1
  525. package/dist/primitives/thread/ThreadEmpty.js +4 -2
  526. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  527. package/dist/primitives/thread/ThreadEmpty.mjs +4 -2
  528. package/dist/primitives/thread/ThreadEmpty.mjs.map +1 -1
  529. package/dist/primitives/thread/ThreadIf.js +4 -2
  530. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  531. package/dist/primitives/thread/ThreadIf.mjs +4 -2
  532. package/dist/primitives/thread/ThreadIf.mjs.map +1 -1
  533. package/dist/primitives/thread/ThreadMessages.js +14 -12
  534. package/dist/primitives/thread/ThreadMessages.js.map +1 -1
  535. package/dist/primitives/thread/ThreadMessages.mjs +14 -12
  536. package/dist/primitives/thread/ThreadMessages.mjs.map +1 -1
  537. package/dist/primitives/thread/ThreadRoot.js +4 -2
  538. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  539. package/dist/primitives/thread/ThreadRoot.mjs +4 -2
  540. package/dist/primitives/thread/ThreadRoot.mjs.map +1 -1
  541. package/dist/primitives/thread/ThreadScrollToBottom.js +5 -3
  542. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  543. package/dist/primitives/thread/ThreadScrollToBottom.mjs +5 -3
  544. package/dist/primitives/thread/ThreadScrollToBottom.mjs.map +1 -1
  545. package/dist/primitives/thread/ThreadSuggestion.js +5 -3
  546. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  547. package/dist/primitives/thread/ThreadSuggestion.mjs +5 -3
  548. package/dist/primitives/thread/ThreadSuggestion.mjs.map +1 -1
  549. package/dist/primitives/thread/ThreadViewport.js +5 -3
  550. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  551. package/dist/primitives/thread/ThreadViewport.mjs +5 -3
  552. package/dist/primitives/thread/ThreadViewport.mjs.map +1 -1
  553. package/dist/primitives/thread/index.js +9 -7
  554. package/dist/primitives/thread/index.js.map +1 -1
  555. package/dist/primitives/thread/index.mjs +8 -7
  556. package/dist/primitives/thread/index.mjs.map +1 -1
  557. package/dist/primitives/thread/types.js +2 -0
  558. package/dist/primitives/thread/types.js.map +1 -1
  559. package/dist/runtimes/attachment/AttachmentAdapter.js +2 -0
  560. package/dist/runtimes/attachment/AttachmentAdapter.js.map +1 -1
  561. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js +4 -2
  562. package/dist/runtimes/attachment/CompositeAttachmentAdapter.js.map +1 -1
  563. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs +3 -2
  564. package/dist/runtimes/attachment/CompositeAttachmentAdapter.mjs.map +1 -1
  565. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.js +5 -3
  566. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.js.map +1 -1
  567. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.mjs +4 -3
  568. package/dist/runtimes/attachment/SimpleImageAttachmentAdapter.mjs.map +1 -1
  569. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.js +5 -3
  570. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.js.map +1 -1
  571. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.mjs +4 -3
  572. package/dist/runtimes/attachment/SimpleTextAttachmentAdapter.mjs.map +1 -1
  573. package/dist/runtimes/attachment/index.js +5 -3
  574. package/dist/runtimes/attachment/index.js.map +1 -1
  575. package/dist/runtimes/attachment/index.mjs +4 -3
  576. package/dist/runtimes/attachment/index.mjs.map +1 -1
  577. package/dist/runtimes/composer/BaseComposerRuntimeCore.js +5 -3
  578. package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
  579. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs +4 -3
  580. package/dist/runtimes/composer/BaseComposerRuntimeCore.mjs.map +1 -1
  581. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +6 -4
  582. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
  583. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs +5 -4
  584. package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.mjs.map +1 -1
  585. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +5 -3
  586. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
  587. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs +4 -3
  588. package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.mjs.map +1 -1
  589. package/dist/runtimes/core/AssistantRuntimeCore.js +2 -0
  590. package/dist/runtimes/core/AssistantRuntimeCore.js.map +1 -1
  591. package/dist/runtimes/core/BaseAssistantRuntimeCore.js +5 -3
  592. package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
  593. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs +4 -3
  594. package/dist/runtimes/core/BaseAssistantRuntimeCore.mjs.map +1 -1
  595. package/dist/runtimes/core/BaseThreadRuntimeCore.js +8 -6
  596. package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
  597. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs +7 -6
  598. package/dist/runtimes/core/BaseThreadRuntimeCore.mjs.map +1 -1
  599. package/dist/runtimes/core/ComposerRuntimeCore.js +2 -0
  600. package/dist/runtimes/core/ComposerRuntimeCore.js.map +1 -1
  601. package/dist/runtimes/core/ThreadManagerRuntimeCore.js +2 -0
  602. package/dist/runtimes/core/ThreadManagerRuntimeCore.js.map +1 -1
  603. package/dist/runtimes/core/ThreadRuntimeCore.js +2 -0
  604. package/dist/runtimes/core/ThreadRuntimeCore.js.map +1 -1
  605. package/dist/runtimes/core/index.js +3 -1
  606. package/dist/runtimes/core/index.js.map +1 -1
  607. package/dist/runtimes/core/index.mjs +2 -1
  608. package/dist/runtimes/core/index.mjs.map +1 -1
  609. package/dist/runtimes/core/subscribeToMainThread.js +3 -1
  610. package/dist/runtimes/core/subscribeToMainThread.js.map +1 -1
  611. package/dist/runtimes/core/subscribeToMainThread.mjs +2 -1
  612. package/dist/runtimes/core/subscribeToMainThread.mjs.map +1 -1
  613. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js +10 -8
  614. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.js.map +1 -1
  615. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs +9 -8
  616. package/dist/runtimes/dangerous-in-browser/DangerousInBrowserAdapter.mjs.map +1 -1
  617. package/dist/runtimes/dangerous-in-browser/index.js +3 -1
  618. package/dist/runtimes/dangerous-in-browser/index.js.map +1 -1
  619. package/dist/runtimes/dangerous-in-browser/index.mjs +2 -1
  620. package/dist/runtimes/dangerous-in-browser/index.mjs.map +1 -1
  621. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js +6 -4
  622. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.js.map +1 -1
  623. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs +5 -4
  624. package/dist/runtimes/dangerous-in-browser/useDangerousInBrowserRuntime.mjs.map +1 -1
  625. package/dist/runtimes/edge/EdgeChatAdapter.js +11 -9
  626. package/dist/runtimes/edge/EdgeChatAdapter.js.map +1 -1
  627. package/dist/runtimes/edge/EdgeChatAdapter.mjs +10 -9
  628. package/dist/runtimes/edge/EdgeChatAdapter.mjs.map +1 -1
  629. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js +13 -11
  630. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.js.map +1 -1
  631. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs +12 -11
  632. package/dist/runtimes/edge/EdgeRuntimeRequestOptions.mjs.map +1 -1
  633. package/dist/runtimes/edge/converters/fromCoreMessage.js +5 -3
  634. package/dist/runtimes/edge/converters/fromCoreMessage.js.map +1 -1
  635. package/dist/runtimes/edge/converters/fromCoreMessage.mjs +4 -3
  636. package/dist/runtimes/edge/converters/fromCoreMessage.mjs.map +1 -1
  637. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js +3 -1
  638. package/dist/runtimes/edge/converters/fromLanguageModelMessages.js.map +1 -1
  639. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs +2 -1
  640. package/dist/runtimes/edge/converters/fromLanguageModelMessages.mjs.map +1 -1
  641. package/dist/runtimes/edge/converters/fromLanguageModelTools.js +3 -1
  642. package/dist/runtimes/edge/converters/fromLanguageModelTools.js.map +1 -1
  643. package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs +2 -1
  644. package/dist/runtimes/edge/converters/fromLanguageModelTools.mjs.map +1 -1
  645. package/dist/runtimes/edge/converters/index.js +8 -6
  646. package/dist/runtimes/edge/converters/index.js.map +1 -1
  647. package/dist/runtimes/edge/converters/index.mjs +7 -6
  648. package/dist/runtimes/edge/converters/index.mjs.map +1 -1
  649. package/dist/runtimes/edge/converters/toCoreMessages.js +4 -2
  650. package/dist/runtimes/edge/converters/toCoreMessages.js.map +1 -1
  651. package/dist/runtimes/edge/converters/toCoreMessages.mjs +3 -2
  652. package/dist/runtimes/edge/converters/toCoreMessages.mjs.map +1 -1
  653. package/dist/runtimes/edge/converters/toLanguageModelMessages.js +3 -1
  654. package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
  655. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +2 -1
  656. package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
  657. package/dist/runtimes/edge/converters/toLanguageModelTools.js +3 -1
  658. package/dist/runtimes/edge/converters/toLanguageModelTools.js.map +1 -1
  659. package/dist/runtimes/edge/converters/toLanguageModelTools.mjs +2 -1
  660. package/dist/runtimes/edge/converters/toLanguageModelTools.mjs.map +1 -1
  661. package/dist/runtimes/edge/createEdgeRuntimeAPI.js +15 -13
  662. package/dist/runtimes/edge/createEdgeRuntimeAPI.js.map +1 -1
  663. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs +14 -13
  664. package/dist/runtimes/edge/createEdgeRuntimeAPI.mjs.map +1 -1
  665. package/dist/runtimes/edge/index.js +8 -6
  666. package/dist/runtimes/edge/index.js.map +1 -1
  667. package/dist/runtimes/edge/index.mjs +5 -4
  668. package/dist/runtimes/edge/index.mjs.map +1 -1
  669. package/dist/runtimes/edge/partial-json/fix-json.js +2 -0
  670. package/dist/runtimes/edge/partial-json/fix-json.js.map +1 -1
  671. package/dist/runtimes/edge/partial-json/fix-json.mjs +1 -0
  672. package/dist/runtimes/edge/partial-json/fix-json.mjs.map +1 -1
  673. package/dist/runtimes/edge/partial-json/parse-partial-json.js +4 -2
  674. package/dist/runtimes/edge/partial-json/parse-partial-json.js.map +1 -1
  675. package/dist/runtimes/edge/partial-json/parse-partial-json.mjs +3 -2
  676. package/dist/runtimes/edge/partial-json/parse-partial-json.mjs.map +1 -1
  677. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js +2 -0
  678. package/dist/runtimes/edge/streams/AssistantStreamChunkType.js.map +1 -1
  679. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs +1 -0
  680. package/dist/runtimes/edge/streams/AssistantStreamChunkType.mjs.map +1 -1
  681. package/dist/runtimes/edge/streams/assistantDecoderStream.js +3 -1
  682. package/dist/runtimes/edge/streams/assistantDecoderStream.js.map +1 -1
  683. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs +2 -1
  684. package/dist/runtimes/edge/streams/assistantDecoderStream.mjs.map +1 -1
  685. package/dist/runtimes/edge/streams/assistantEncoderStream.js +3 -1
  686. package/dist/runtimes/edge/streams/assistantEncoderStream.js.map +1 -1
  687. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs +2 -1
  688. package/dist/runtimes/edge/streams/assistantEncoderStream.mjs.map +1 -1
  689. package/dist/runtimes/edge/streams/runResultStream.js +10 -8
  690. package/dist/runtimes/edge/streams/runResultStream.js.map +1 -1
  691. package/dist/runtimes/edge/streams/runResultStream.mjs +9 -8
  692. package/dist/runtimes/edge/streams/runResultStream.mjs.map +1 -1
  693. package/dist/runtimes/edge/streams/toolResultStream.js +2 -0
  694. package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
  695. package/dist/runtimes/edge/streams/toolResultStream.mjs +1 -0
  696. package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
  697. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.js +4 -2
  698. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.js.map +1 -1
  699. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.mjs +3 -2
  700. package/dist/runtimes/edge/streams/utils/PipeableTransformStream.mjs.map +1 -1
  701. package/dist/runtimes/edge/streams/utils/StreamPart.js +2 -0
  702. package/dist/runtimes/edge/streams/utils/StreamPart.js.map +1 -1
  703. package/dist/runtimes/edge/streams/utils/chunkByLineStream.js +2 -0
  704. package/dist/runtimes/edge/streams/utils/chunkByLineStream.js.map +1 -1
  705. package/dist/runtimes/edge/streams/utils/chunkByLineStream.mjs +1 -0
  706. package/dist/runtimes/edge/streams/utils/chunkByLineStream.mjs.map +1 -1
  707. package/dist/runtimes/edge/streams/utils/index.js +5 -3
  708. package/dist/runtimes/edge/streams/utils/index.js.map +1 -1
  709. package/dist/runtimes/edge/streams/utils/index.mjs +4 -3
  710. package/dist/runtimes/edge/streams/utils/index.mjs.map +1 -1
  711. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js +5 -3
  712. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.js.map +1 -1
  713. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.mjs +4 -3
  714. package/dist/runtimes/edge/streams/utils/streamPartDecoderStream.mjs.map +1 -1
  715. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js +3 -1
  716. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.js.map +1 -1
  717. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.mjs +2 -1
  718. package/dist/runtimes/edge/streams/utils/streamPartEncoderStream.mjs.map +1 -1
  719. package/dist/runtimes/edge/useEdgeRuntime.js +6 -4
  720. package/dist/runtimes/edge/useEdgeRuntime.js.map +1 -1
  721. package/dist/runtimes/edge/useEdgeRuntime.mjs +5 -4
  722. package/dist/runtimes/edge/useEdgeRuntime.mjs.map +1 -1
  723. package/dist/runtimes/external-store/ExternalStoreAdapter.js +2 -0
  724. package/dist/runtimes/external-store/ExternalStoreAdapter.js.map +1 -1
  725. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +8 -6
  726. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
  727. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs +7 -6
  728. package/dist/runtimes/external-store/ExternalStoreRuntimeCore.mjs.map +1 -1
  729. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.js +6 -4
  730. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.js.map +1 -1
  731. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.mjs +5 -4
  732. package/dist/runtimes/external-store/ExternalStoreThreadManagementAdapter.mjs.map +1 -1
  733. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +12 -10
  734. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
  735. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs +11 -10
  736. package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.mjs.map +1 -1
  737. package/dist/runtimes/external-store/ThreadMessageConverter.js +4 -2
  738. package/dist/runtimes/external-store/ThreadMessageConverter.js.map +1 -1
  739. package/dist/runtimes/external-store/ThreadMessageConverter.mjs +3 -2
  740. package/dist/runtimes/external-store/ThreadMessageConverter.mjs.map +1 -1
  741. package/dist/runtimes/external-store/ThreadMessageLike.js +3 -1
  742. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  743. package/dist/runtimes/external-store/ThreadMessageLike.mjs +2 -1
  744. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  745. package/dist/runtimes/external-store/auto-status.js +6 -4
  746. package/dist/runtimes/external-store/auto-status.js.map +1 -1
  747. package/dist/runtimes/external-store/auto-status.mjs +5 -4
  748. package/dist/runtimes/external-store/auto-status.mjs.map +1 -1
  749. package/dist/runtimes/external-store/external-message-converter.js +10 -8
  750. package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
  751. package/dist/runtimes/external-store/external-message-converter.mjs +9 -8
  752. package/dist/runtimes/external-store/external-message-converter.mjs.map +1 -1
  753. package/dist/runtimes/external-store/getExternalStoreMessage.js +4 -2
  754. package/dist/runtimes/external-store/getExternalStoreMessage.js.map +1 -1
  755. package/dist/runtimes/external-store/getExternalStoreMessage.mjs +3 -2
  756. package/dist/runtimes/external-store/getExternalStoreMessage.mjs.map +1 -1
  757. package/dist/runtimes/external-store/index.js +5 -3
  758. package/dist/runtimes/external-store/index.js.map +1 -1
  759. package/dist/runtimes/external-store/index.mjs +4 -3
  760. package/dist/runtimes/external-store/index.mjs.map +1 -1
  761. package/dist/runtimes/external-store/useExternalStoreRuntime.js +6 -4
  762. package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
  763. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs +5 -4
  764. package/dist/runtimes/external-store/useExternalStoreRuntime.mjs.map +1 -1
  765. package/dist/runtimes/feedback/FeedbackAdapter.js +2 -0
  766. package/dist/runtimes/feedback/FeedbackAdapter.js.map +1 -1
  767. package/dist/runtimes/feedback/index.js +2 -0
  768. package/dist/runtimes/feedback/index.js.map +1 -1
  769. package/dist/runtimes/index.js +18 -16
  770. package/dist/runtimes/index.js.map +1 -1
  771. package/dist/runtimes/index.mjs +9 -8
  772. package/dist/runtimes/index.mjs.map +1 -1
  773. package/dist/runtimes/local/ChatModelAdapter.js +2 -0
  774. package/dist/runtimes/local/ChatModelAdapter.js.map +1 -1
  775. package/dist/runtimes/local/LocalRuntimeCore.js +9 -7
  776. package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
  777. package/dist/runtimes/local/LocalRuntimeCore.mjs +8 -7
  778. package/dist/runtimes/local/LocalRuntimeCore.mjs.map +1 -1
  779. package/dist/runtimes/local/LocalRuntimeOptions.js +3 -1
  780. package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
  781. package/dist/runtimes/local/LocalRuntimeOptions.mjs +2 -1
  782. package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
  783. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.js +5 -3
  784. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.js.map +1 -1
  785. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.mjs +4 -3
  786. package/dist/runtimes/local/LocalThreadManagerRuntimeCore.mjs.map +1 -1
  787. package/dist/runtimes/local/LocalThreadRuntimeCore.js +8 -6
  788. package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
  789. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +7 -6
  790. package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
  791. package/dist/runtimes/local/index.js +3 -1
  792. package/dist/runtimes/local/index.js.map +1 -1
  793. package/dist/runtimes/local/index.mjs +2 -1
  794. package/dist/runtimes/local/index.mjs.map +1 -1
  795. package/dist/runtimes/local/shouldContinue.js +3 -1
  796. package/dist/runtimes/local/shouldContinue.js.map +1 -1
  797. package/dist/runtimes/local/shouldContinue.mjs +2 -1
  798. package/dist/runtimes/local/shouldContinue.mjs.map +1 -1
  799. package/dist/runtimes/local/useLocalRuntime.js +9 -7
  800. package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
  801. package/dist/runtimes/local/useLocalRuntime.mjs +9 -7
  802. package/dist/runtimes/local/useLocalRuntime.mjs.map +1 -1
  803. package/dist/runtimes/speech/SpeechAdapterTypes.js +2 -0
  804. package/dist/runtimes/speech/SpeechAdapterTypes.js.map +1 -1
  805. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.js +4 -2
  806. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.js.map +1 -1
  807. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.mjs +3 -2
  808. package/dist/runtimes/speech/WebSpeechSynthesisAdapter.mjs.map +1 -1
  809. package/dist/runtimes/speech/index.js +3 -1
  810. package/dist/runtimes/speech/index.js.map +1 -1
  811. package/dist/runtimes/speech/index.mjs +2 -1
  812. package/dist/runtimes/speech/index.mjs.map +1 -1
  813. package/dist/runtimes/utils/MessageRepository.js +7 -5
  814. package/dist/runtimes/utils/MessageRepository.js.map +1 -1
  815. package/dist/runtimes/utils/MessageRepository.mjs +6 -5
  816. package/dist/runtimes/utils/MessageRepository.mjs.map +1 -1
  817. package/dist/tailwindcss/index.d.ts.map +1 -1
  818. package/dist/tailwindcss/index.js +7 -5
  819. package/dist/tailwindcss/index.js.map +1 -1
  820. package/dist/tailwindcss/index.mjs +6 -5
  821. package/dist/tailwindcss/index.mjs.map +1 -1
  822. package/dist/types/AssistantTypes.js +2 -0
  823. package/dist/types/AssistantTypes.js.map +1 -1
  824. package/dist/types/AttachmentTypes.js +2 -0
  825. package/dist/types/AttachmentTypes.js.map +1 -1
  826. package/dist/types/ContentPartComponentTypes.js +2 -0
  827. package/dist/types/ContentPartComponentTypes.js.map +1 -1
  828. package/dist/types/ModelConfigTypes.js +5 -3
  829. package/dist/types/ModelConfigTypes.js.map +1 -1
  830. package/dist/types/ModelConfigTypes.mjs +4 -3
  831. package/dist/types/ModelConfigTypes.mjs.map +1 -1
  832. package/dist/types/Unsubscribe.js +2 -0
  833. package/dist/types/Unsubscribe.js.map +1 -1
  834. package/dist/types/index.js +2 -0
  835. package/dist/types/index.js.map +1 -1
  836. package/dist/ui/assistant-action-bar.js +23 -21
  837. package/dist/ui/assistant-action-bar.js.map +1 -1
  838. package/dist/ui/assistant-action-bar.mjs +23 -21
  839. package/dist/ui/assistant-action-bar.mjs.map +1 -1
  840. package/dist/ui/assistant-message.js +16 -14
  841. package/dist/ui/assistant-message.js.map +1 -1
  842. package/dist/ui/assistant-message.mjs +16 -14
  843. package/dist/ui/assistant-message.mjs.map +1 -1
  844. package/dist/ui/assistant-modal.js +16 -14
  845. package/dist/ui/assistant-modal.js.map +1 -1
  846. package/dist/ui/assistant-modal.mjs +16 -14
  847. package/dist/ui/assistant-modal.mjs.map +1 -1
  848. package/dist/ui/attachment.js +22 -20
  849. package/dist/ui/attachment.js.map +1 -1
  850. package/dist/ui/attachment.mjs +19 -17
  851. package/dist/ui/attachment.mjs.map +1 -1
  852. package/dist/ui/base/CircleStopIcon.js +3 -1
  853. package/dist/ui/base/CircleStopIcon.js.map +1 -1
  854. package/dist/ui/base/CircleStopIcon.mjs +2 -1
  855. package/dist/ui/base/CircleStopIcon.mjs.map +1 -1
  856. package/dist/ui/base/avatar.js +8 -6
  857. package/dist/ui/base/avatar.js.map +1 -1
  858. package/dist/ui/base/avatar.mjs +8 -6
  859. package/dist/ui/base/avatar.mjs.map +1 -1
  860. package/dist/ui/base/button.js +5 -3
  861. package/dist/ui/base/button.js.map +1 -1
  862. package/dist/ui/base/button.mjs +4 -3
  863. package/dist/ui/base/button.mjs.map +1 -1
  864. package/dist/ui/base/dialog.js +9 -7
  865. package/dist/ui/base/dialog.js.map +1 -1
  866. package/dist/ui/base/dialog.mjs +9 -7
  867. package/dist/ui/base/dialog.mjs.map +1 -1
  868. package/dist/ui/base/index.js +7 -5
  869. package/dist/ui/base/index.js.map +1 -1
  870. package/dist/ui/base/index.mjs +6 -5
  871. package/dist/ui/base/index.mjs.map +1 -1
  872. package/dist/ui/base/tooltip-icon-button.js +6 -4
  873. package/dist/ui/base/tooltip-icon-button.js.map +1 -1
  874. package/dist/ui/base/tooltip-icon-button.mjs +6 -4
  875. package/dist/ui/base/tooltip-icon-button.mjs.map +1 -1
  876. package/dist/ui/base/tooltip.js +7 -5
  877. package/dist/ui/base/tooltip.js.map +1 -1
  878. package/dist/ui/base/tooltip.mjs +7 -5
  879. package/dist/ui/base/tooltip.mjs.map +1 -1
  880. package/dist/ui/branch-picker.js +16 -14
  881. package/dist/ui/branch-picker.js.map +1 -1
  882. package/dist/ui/branch-picker.mjs +16 -14
  883. package/dist/ui/branch-picker.mjs.map +1 -1
  884. package/dist/ui/composer.js +26 -24
  885. package/dist/ui/composer.js.map +1 -1
  886. package/dist/ui/composer.mjs +26 -24
  887. package/dist/ui/composer.mjs.map +1 -1
  888. package/dist/ui/content-part.js +7 -5
  889. package/dist/ui/content-part.js.map +1 -1
  890. package/dist/ui/content-part.mjs +6 -5
  891. package/dist/ui/content-part.mjs.map +1 -1
  892. package/dist/ui/edit-composer.js +14 -12
  893. package/dist/ui/edit-composer.js.map +1 -1
  894. package/dist/ui/edit-composer.mjs +14 -12
  895. package/dist/ui/edit-composer.mjs.map +1 -1
  896. package/dist/ui/index.js +15 -13
  897. package/dist/ui/index.js.map +1 -1
  898. package/dist/ui/index.mjs +14 -13
  899. package/dist/ui/index.mjs.map +1 -1
  900. package/dist/ui/thread-config.js +8 -6
  901. package/dist/ui/thread-config.js.map +1 -1
  902. package/dist/ui/thread-config.mjs +8 -6
  903. package/dist/ui/thread-config.mjs.map +1 -1
  904. package/dist/ui/thread-welcome.js +20 -18
  905. package/dist/ui/thread-welcome.js.map +1 -1
  906. package/dist/ui/thread-welcome.mjs +20 -18
  907. package/dist/ui/thread-welcome.mjs.map +1 -1
  908. package/dist/ui/thread.js +24 -22
  909. package/dist/ui/thread.js.map +1 -1
  910. package/dist/ui/thread.mjs +24 -22
  911. package/dist/ui/thread.mjs.map +1 -1
  912. package/dist/ui/user-action-bar.js +13 -11
  913. package/dist/ui/user-action-bar.js.map +1 -1
  914. package/dist/ui/user-action-bar.mjs +13 -11
  915. package/dist/ui/user-action-bar.mjs.map +1 -1
  916. package/dist/ui/user-message.js +16 -14
  917. package/dist/ui/user-message.js.map +1 -1
  918. package/dist/ui/user-message.mjs +16 -14
  919. package/dist/ui/user-message.mjs.map +1 -1
  920. package/dist/ui/utils/withDefaults.js +5 -3
  921. package/dist/ui/utils/withDefaults.js.map +1 -1
  922. package/dist/ui/utils/withDefaults.mjs +4 -3
  923. package/dist/ui/utils/withDefaults.mjs.map +1 -1
  924. package/dist/utils/ProxyConfigProvider.js +5 -3
  925. package/dist/utils/ProxyConfigProvider.js.map +1 -1
  926. package/dist/utils/ProxyConfigProvider.mjs +4 -3
  927. package/dist/utils/ProxyConfigProvider.mjs.map +1 -1
  928. package/dist/utils/RequireAtLeastOne.js +2 -0
  929. package/dist/utils/RequireAtLeastOne.js.map +1 -1
  930. package/dist/utils/combined/createCombinedStore.js +3 -1
  931. package/dist/utils/combined/createCombinedStore.js.map +1 -1
  932. package/dist/utils/combined/createCombinedStore.mjs +3 -1
  933. package/dist/utils/combined/createCombinedStore.mjs.map +1 -1
  934. package/dist/utils/combined/useCombinedStore.js +4 -2
  935. package/dist/utils/combined/useCombinedStore.js.map +1 -1
  936. package/dist/utils/combined/useCombinedStore.mjs +3 -2
  937. package/dist/utils/combined/useCombinedStore.mjs.map +1 -1
  938. package/dist/utils/createActionButton.js +4 -2
  939. package/dist/utils/createActionButton.js.map +1 -1
  940. package/dist/utils/createActionButton.mjs +4 -2
  941. package/dist/utils/createActionButton.mjs.map +1 -1
  942. package/dist/utils/getThreadMessageText.js +3 -1
  943. package/dist/utils/getThreadMessageText.js.map +1 -1
  944. package/dist/utils/getThreadMessageText.mjs +2 -1
  945. package/dist/utils/getThreadMessageText.mjs.map +1 -1
  946. package/dist/utils/hooks/useManagedRef.js +3 -1
  947. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  948. package/dist/utils/hooks/useManagedRef.mjs +2 -1
  949. package/dist/utils/hooks/useManagedRef.mjs.map +1 -1
  950. package/dist/utils/hooks/useOnResizeContent.js +4 -2
  951. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  952. package/dist/utils/hooks/useOnResizeContent.mjs +3 -2
  953. package/dist/utils/hooks/useOnResizeContent.mjs.map +1 -1
  954. package/dist/utils/hooks/useOnScrollToBottom.js +4 -2
  955. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  956. package/dist/utils/hooks/useOnScrollToBottom.mjs +3 -2
  957. package/dist/utils/hooks/useOnScrollToBottom.mjs.map +1 -1
  958. package/dist/utils/idUtils.js +6 -4
  959. package/dist/utils/idUtils.js.map +1 -1
  960. package/dist/utils/idUtils.mjs +5 -4
  961. package/dist/utils/idUtils.mjs.map +1 -1
  962. package/dist/utils/smooth/SmoothContext.js +10 -8
  963. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  964. package/dist/utils/smooth/SmoothContext.mjs +9 -8
  965. package/dist/utils/smooth/SmoothContext.mjs.map +1 -1
  966. package/dist/utils/smooth/index.js +5 -3
  967. package/dist/utils/smooth/index.js.map +1 -1
  968. package/dist/utils/smooth/index.mjs +4 -3
  969. package/dist/utils/smooth/index.mjs.map +1 -1
  970. package/dist/utils/smooth/useSmooth.js +9 -7
  971. package/dist/utils/smooth/useSmooth.js.map +1 -1
  972. package/dist/utils/smooth/useSmooth.mjs +9 -7
  973. package/dist/utils/smooth/useSmooth.mjs.map +1 -1
  974. package/package.json +8 -7
  975. package/src/tailwindcss/index.ts +4 -4
  976. /package/{generated → dist/styles/tailwindcss}/base-components.css.json +0 -0
  977. /package/{generated → dist/styles/tailwindcss}/modal.css.json +0 -0
  978. /package/{generated → dist/styles/tailwindcss}/thread.css.json +0 -0
  979. /package/{generated → dist/styles/themes}/default.css.json +0 -0
@@ -16,19 +16,21 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/ThreadRuntime.ts
19
21
  var ThreadRuntime_exports = {};
20
22
  __export(ThreadRuntime_exports, {
21
23
  ThreadRuntimeImpl: () => ThreadRuntimeImpl,
22
24
  getThreadState: () => getThreadState
23
25
  });
24
26
  module.exports = __toCommonJS(ThreadRuntime_exports);
25
- var import_MessageRuntime = require("./MessageRuntime");
26
- var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject");
27
- var import_ShallowMemoizeSubject = require("./subscribable/ShallowMemoizeSubject");
28
- var import_ComposerRuntime = require("./ComposerRuntime");
29
- var import_LazyMemoizeSubject = require("./subscribable/LazyMemoizeSubject");
30
- var import_SKIP_UPDATE = require("./subscribable/SKIP_UPDATE");
31
- const toAppendMessage = (messages, message) => {
27
+ var import_MessageRuntime = require("./MessageRuntime.cjs");
28
+ var import_NestedSubscriptionSubject = require("./subscribable/NestedSubscriptionSubject.cjs");
29
+ var import_ShallowMemoizeSubject = require("./subscribable/ShallowMemoizeSubject.cjs");
30
+ var import_ComposerRuntime = require("./ComposerRuntime.cjs");
31
+ var import_LazyMemoizeSubject = require("./subscribable/LazyMemoizeSubject.cjs");
32
+ var import_SKIP_UPDATE = require("./subscribable/SKIP_UPDATE.cjs");
33
+ var toAppendMessage = (messages, message) => {
32
34
  if (typeof message === "string") {
33
35
  return {
34
36
  parentId: messages.at(-1)?.id ?? null,
@@ -47,7 +49,7 @@ const toAppendMessage = (messages, message) => {
47
49
  attachments: message.attachments ?? []
48
50
  };
49
51
  };
50
- const getThreadState = (runtime) => {
52
+ var getThreadState = (runtime) => {
51
53
  const lastMessage = runtime.messages.at(-1);
52
54
  return Object.freeze({
53
55
  threadId: runtime.threadId,
@@ -60,7 +62,7 @@ const getThreadState = (runtime) => {
60
62
  speech: runtime.speech
61
63
  });
62
64
  };
63
- class ThreadRuntimeImpl {
65
+ var ThreadRuntimeImpl = class {
64
66
  get path() {
65
67
  return this._threadBinding.path;
66
68
  }
@@ -289,7 +291,7 @@ class ThreadRuntimeImpl {
289
291
  }
290
292
  return subject.subscribe(callback);
291
293
  }
292
- }
294
+ };
293
295
  // Annotate the CommonJS export names for ESM import in node:
294
296
  0 && (module.exports = {
295
297
  ThreadRuntimeImpl,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n AddToolResultOptions,\n ThreadSuggestion,\n RuntimeCapabilities,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport {\n AppendMessage,\n ModelConfig,\n ThreadMessage,\n Unsubscribe,\n} from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n Subscribable,\n SubscribableWithState,\n} from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimeCore } from \"../runtimes/core/ComposerRuntimeCore\";\nimport { MessageRuntimePath, ThreadRuntimePath } from \"./RuntimePathTypes\";\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n role: message.role ?? \"user\",\n content: message.content,\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadState = Readonly<{\n /**\n * The thread ID.\n */\n threadId: string;\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speech: SpeechState | undefined;\n}>;\n\nexport const getThreadState = (runtime: ThreadRuntimeCore): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: runtime.threadId,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = Readonly<{\n readonly path: ThreadRuntimePath;\n\n readonly composer: ThreadComposerRuntime;\n getState(): ThreadState;\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n unstable_getCore(): ThreadRuntimeCore;\n\n append(message: CreateAppendMessage): void;\n startRun(parentId: string | null): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelConfig(): ModelConfig;\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n\n // Legacy methods with deprecations\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n capabilities: Readonly<RuntimeCapabilities>;\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n threadId: string;\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n isDisabled: boolean;\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n isRunning: boolean;\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n speech: SpeechState | undefined;\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n extras: unknown;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n getBranches: (messageId: string) => readonly string[];\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n switchToBranch: (branchId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n addToolResult: (options: AddToolResultOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n speak: (messageId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().submittedFeedback` instead. This will be removed in 0.6.0.\n */\n getSubmittedFeedback: (messageId: string) => SubmittedFeedback | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n submitFeedback: (feedback: SubmitFeedbackOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).composer` instead. This will be removed in 0.6.0.\n */\n getEditComposer: (messageId: string) => ComposerRuntimeCore | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n beginEdit: (messageId: string) => void;\n}>;\n\nexport class ThreadRuntimeImpl\n implements Omit<ThreadRuntimeCore, \"getMessageById\">, ThreadRuntime\n{\n public get path() {\n return this._threadBinding.path;\n }\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n public get threadId() {\n return this.getState().threadId;\n }\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n public get isDisabled() {\n return this.getState().isDisabled;\n }\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n public get isRunning() {\n return this.getState().isRunning;\n }\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n public get capabilities() {\n return this.getState().capabilities;\n }\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n public get extras() {\n return this._threadBinding.getState().extras;\n }\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n public get suggestions() {\n return this._threadBinding.getState().suggestions;\n }\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n public get messages() {\n return this._threadBinding.getState().messages;\n }\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n public get speech() {\n return this._threadBinding.getState().speech;\n }\n\n public unstable_getCore() {\n return this._threadBinding.getState();\n }\n\n private _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(threadBinding: ThreadRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () => getThreadState(threadBinding.getState()),\n subscribe: (callback) => threadBinding.subscribe(callback),\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n /**\n * @derprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n public getBranches(messageId: string) {\n return this._threadBinding.getState().getBranches(messageId);\n }\n\n public getModelConfig() {\n return this._threadBinding.getState().getModelConfig();\n }\n\n // TODO sometimes you want to continue when there is no child message\n public startRun(parentId: string | null) {\n return this._threadBinding.getState().startRun(parentId);\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n public addToolResult(options: AddToolResultOptions) {\n this._threadBinding.getState().addToolResult(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n public switchToBranch(branchId: string) {\n return this._threadBinding.getState().switchToBranch(branchId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n public speak(messageId: string) {\n return this._threadBinding.getState().speak(messageId);\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public getSubmittedFeedback(messageId: string) {\n return this._threadBinding.getState().getSubmittedFeedback(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n public submitFeedback(options: SubmitFeedbackOptions) {\n return this._threadBinding.getState().submitFeedback(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer` instead. This will be removed in 0.6.0.\n */\n public getEditComposer(messageId: string) {\n return this._threadBinding.getState().getEditComposer(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n public beginEdit(messageId: string) {\n return this._threadBinding.getState().beginEdit(messageId);\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n\n message,\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branches,\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventListenerNestedSubscriptions = new Map<\n string,\n NestedSubscriptionSubject<Subscribable, ThreadRuntimePath>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventListenerNestedSubscriptions.get(event);\n if (!subject) {\n subject = new NestedSubscriptionSubject({\n path: this.path,\n getState: () => ({\n subscribe: (callback) =>\n this._threadBinding.getState().unstable_on(event, callback),\n }),\n subscribe: (callback) => this._threadBinding.outerSubscribe(callback),\n });\n this._eventListenerNestedSubscriptions.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
1
+ {"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n AddToolResultOptions,\n ThreadSuggestion,\n RuntimeCapabilities,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport {\n AppendMessage,\n ModelConfig,\n ThreadMessage,\n Unsubscribe,\n} from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n Subscribable,\n SubscribableWithState,\n} from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimeCore } from \"../runtimes/core/ComposerRuntimeCore\";\nimport { MessageRuntimePath, ThreadRuntimePath } from \"./RuntimePathTypes\";\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n role: message.role ?? \"user\",\n content: message.content,\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadState = Readonly<{\n /**\n * The thread ID.\n */\n threadId: string;\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speech: SpeechState | undefined;\n}>;\n\nexport const getThreadState = (runtime: ThreadRuntimeCore): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: runtime.threadId,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = Readonly<{\n readonly path: ThreadRuntimePath;\n\n readonly composer: ThreadComposerRuntime;\n getState(): ThreadState;\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n unstable_getCore(): ThreadRuntimeCore;\n\n append(message: CreateAppendMessage): void;\n startRun(parentId: string | null): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelConfig(): ModelConfig;\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n\n // Legacy methods with deprecations\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n capabilities: Readonly<RuntimeCapabilities>;\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n threadId: string;\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n isDisabled: boolean;\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n isRunning: boolean;\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n speech: SpeechState | undefined;\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n extras: unknown;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n getBranches: (messageId: string) => readonly string[];\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n switchToBranch: (branchId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n addToolResult: (options: AddToolResultOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n speak: (messageId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().submittedFeedback` instead. This will be removed in 0.6.0.\n */\n getSubmittedFeedback: (messageId: string) => SubmittedFeedback | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n submitFeedback: (feedback: SubmitFeedbackOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).composer` instead. This will be removed in 0.6.0.\n */\n getEditComposer: (messageId: string) => ComposerRuntimeCore | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n beginEdit: (messageId: string) => void;\n}>;\n\nexport class ThreadRuntimeImpl\n implements Omit<ThreadRuntimeCore, \"getMessageById\">, ThreadRuntime\n{\n public get path() {\n return this._threadBinding.path;\n }\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n public get threadId() {\n return this.getState().threadId;\n }\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n public get isDisabled() {\n return this.getState().isDisabled;\n }\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n public get isRunning() {\n return this.getState().isRunning;\n }\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n public get capabilities() {\n return this.getState().capabilities;\n }\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n public get extras() {\n return this._threadBinding.getState().extras;\n }\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n public get suggestions() {\n return this._threadBinding.getState().suggestions;\n }\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n public get messages() {\n return this._threadBinding.getState().messages;\n }\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n public get speech() {\n return this._threadBinding.getState().speech;\n }\n\n public unstable_getCore() {\n return this._threadBinding.getState();\n }\n\n private _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(threadBinding: ThreadRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () => getThreadState(threadBinding.getState()),\n subscribe: (callback) => threadBinding.subscribe(callback),\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n /**\n * @derprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n public getBranches(messageId: string) {\n return this._threadBinding.getState().getBranches(messageId);\n }\n\n public getModelConfig() {\n return this._threadBinding.getState().getModelConfig();\n }\n\n // TODO sometimes you want to continue when there is no child message\n public startRun(parentId: string | null) {\n return this._threadBinding.getState().startRun(parentId);\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n public addToolResult(options: AddToolResultOptions) {\n this._threadBinding.getState().addToolResult(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n public switchToBranch(branchId: string) {\n return this._threadBinding.getState().switchToBranch(branchId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n public speak(messageId: string) {\n return this._threadBinding.getState().speak(messageId);\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public getSubmittedFeedback(messageId: string) {\n return this._threadBinding.getState().getSubmittedFeedback(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n public submitFeedback(options: SubmitFeedbackOptions) {\n return this._threadBinding.getState().submitFeedback(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer` instead. This will be removed in 0.6.0.\n */\n public getEditComposer(messageId: string) {\n return this._threadBinding.getState().getEditComposer(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n public beginEdit(messageId: string) {\n return this._threadBinding.getState().beginEdit(messageId);\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n\n message,\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branches,\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventListenerNestedSubscriptions = new Map<\n string,\n NestedSubscriptionSubject<Subscribable, ThreadRuntimePath>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventListenerNestedSubscriptions.get(event);\n if (!subject) {\n subject = new NestedSubscriptionSubject({\n path: this.path,\n getState: () => ({\n subscribe: (callback) =>\n this._threadBinding.getState().unstable_on(event, callback),\n }),\n subscribe: (callback) => this._threadBinding.outerSubscribe(callback),\n });\n this._eventListenerNestedSubscriptions.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
@@ -1,14 +1,15 @@
1
+ // src/api/ThreadRuntime.ts
1
2
  import {
2
3
  MessageRuntimeImpl
3
- } from "./MessageRuntime";
4
- import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject";
5
- import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject";
4
+ } from "./MessageRuntime.mjs";
5
+ import { NestedSubscriptionSubject } from "./subscribable/NestedSubscriptionSubject.mjs";
6
+ import { ShallowMemoizeSubject } from "./subscribable/ShallowMemoizeSubject.mjs";
6
7
  import {
7
8
  ThreadComposerRuntimeImpl
8
- } from "./ComposerRuntime";
9
- import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject";
10
- import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE";
11
- const toAppendMessage = (messages, message) => {
9
+ } from "./ComposerRuntime.mjs";
10
+ import { LazyMemoizeSubject } from "./subscribable/LazyMemoizeSubject.mjs";
11
+ import { SKIP_UPDATE } from "./subscribable/SKIP_UPDATE.mjs";
12
+ var toAppendMessage = (messages, message) => {
12
13
  if (typeof message === "string") {
13
14
  return {
14
15
  parentId: messages.at(-1)?.id ?? null,
@@ -27,7 +28,7 @@ const toAppendMessage = (messages, message) => {
27
28
  attachments: message.attachments ?? []
28
29
  };
29
30
  };
30
- const getThreadState = (runtime) => {
31
+ var getThreadState = (runtime) => {
31
32
  const lastMessage = runtime.messages.at(-1);
32
33
  return Object.freeze({
33
34
  threadId: runtime.threadId,
@@ -40,7 +41,7 @@ const getThreadState = (runtime) => {
40
41
  speech: runtime.speech
41
42
  });
42
43
  };
43
- class ThreadRuntimeImpl {
44
+ var ThreadRuntimeImpl = class {
44
45
  get path() {
45
46
  return this._threadBinding.path;
46
47
  }
@@ -269,7 +270,7 @@ class ThreadRuntimeImpl {
269
270
  }
270
271
  return subject.subscribe(callback);
271
272
  }
272
- }
273
+ };
273
274
  export {
274
275
  ThreadRuntimeImpl,
275
276
  getThreadState
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n AddToolResultOptions,\n ThreadSuggestion,\n RuntimeCapabilities,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport {\n AppendMessage,\n ModelConfig,\n ThreadMessage,\n Unsubscribe,\n} from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n Subscribable,\n SubscribableWithState,\n} from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimeCore } from \"../runtimes/core/ComposerRuntimeCore\";\nimport { MessageRuntimePath, ThreadRuntimePath } from \"./RuntimePathTypes\";\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n role: message.role ?? \"user\",\n content: message.content,\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadState = Readonly<{\n /**\n * The thread ID.\n */\n threadId: string;\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speech: SpeechState | undefined;\n}>;\n\nexport const getThreadState = (runtime: ThreadRuntimeCore): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: runtime.threadId,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = Readonly<{\n readonly path: ThreadRuntimePath;\n\n readonly composer: ThreadComposerRuntime;\n getState(): ThreadState;\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n unstable_getCore(): ThreadRuntimeCore;\n\n append(message: CreateAppendMessage): void;\n startRun(parentId: string | null): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelConfig(): ModelConfig;\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n\n // Legacy methods with deprecations\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n capabilities: Readonly<RuntimeCapabilities>;\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n threadId: string;\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n isDisabled: boolean;\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n isRunning: boolean;\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n speech: SpeechState | undefined;\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n extras: unknown;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n getBranches: (messageId: string) => readonly string[];\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n switchToBranch: (branchId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n addToolResult: (options: AddToolResultOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n speak: (messageId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().submittedFeedback` instead. This will be removed in 0.6.0.\n */\n getSubmittedFeedback: (messageId: string) => SubmittedFeedback | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n submitFeedback: (feedback: SubmitFeedbackOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).composer` instead. This will be removed in 0.6.0.\n */\n getEditComposer: (messageId: string) => ComposerRuntimeCore | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n beginEdit: (messageId: string) => void;\n}>;\n\nexport class ThreadRuntimeImpl\n implements Omit<ThreadRuntimeCore, \"getMessageById\">, ThreadRuntime\n{\n public get path() {\n return this._threadBinding.path;\n }\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n public get threadId() {\n return this.getState().threadId;\n }\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n public get isDisabled() {\n return this.getState().isDisabled;\n }\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n public get isRunning() {\n return this.getState().isRunning;\n }\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n public get capabilities() {\n return this.getState().capabilities;\n }\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n public get extras() {\n return this._threadBinding.getState().extras;\n }\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n public get suggestions() {\n return this._threadBinding.getState().suggestions;\n }\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n public get messages() {\n return this._threadBinding.getState().messages;\n }\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n public get speech() {\n return this._threadBinding.getState().speech;\n }\n\n public unstable_getCore() {\n return this._threadBinding.getState();\n }\n\n private _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(threadBinding: ThreadRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () => getThreadState(threadBinding.getState()),\n subscribe: (callback) => threadBinding.subscribe(callback),\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n /**\n * @derprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n public getBranches(messageId: string) {\n return this._threadBinding.getState().getBranches(messageId);\n }\n\n public getModelConfig() {\n return this._threadBinding.getState().getModelConfig();\n }\n\n // TODO sometimes you want to continue when there is no child message\n public startRun(parentId: string | null) {\n return this._threadBinding.getState().startRun(parentId);\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n public addToolResult(options: AddToolResultOptions) {\n this._threadBinding.getState().addToolResult(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n public switchToBranch(branchId: string) {\n return this._threadBinding.getState().switchToBranch(branchId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n public speak(messageId: string) {\n return this._threadBinding.getState().speak(messageId);\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public getSubmittedFeedback(messageId: string) {\n return this._threadBinding.getState().getSubmittedFeedback(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n public submitFeedback(options: SubmitFeedbackOptions) {\n return this._threadBinding.getState().submitFeedback(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer` instead. This will be removed in 0.6.0.\n */\n public getEditComposer(messageId: string) {\n return this._threadBinding.getState().getEditComposer(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n public beginEdit(messageId: string) {\n return this._threadBinding.getState().beginEdit(messageId);\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n\n message,\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branches,\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventListenerNestedSubscriptions = new Map<\n string,\n NestedSubscriptionSubject<Subscribable, ThreadRuntimePath>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventListenerNestedSubscriptions.get(event);\n if (!subject) {\n subject = new NestedSubscriptionSubject({\n path: this.path,\n getState: () => ({\n subscribe: (callback) =>\n this._threadBinding.getState().unstable_on(event, callback),\n }),\n subscribe: (callback) => this._threadBinding.outerSubscribe(callback),\n });\n this._eventListenerNestedSubscriptions.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
1
+ {"version":3,"sources":["../../src/api/ThreadRuntime.ts"],"sourcesContent":["import {\n AddToolResultOptions,\n ThreadSuggestion,\n RuntimeCapabilities,\n SubmitFeedbackOptions,\n ThreadRuntimeCore,\n SpeechState,\n SubmittedFeedback,\n ThreadRuntimeEventType,\n} from \"../runtimes/core/ThreadRuntimeCore\";\nimport { ExportedMessageRepository } from \"../runtimes/utils/MessageRepository\";\nimport {\n AppendMessage,\n ModelConfig,\n ThreadMessage,\n Unsubscribe,\n} from \"../types\";\nimport {\n MessageRuntime,\n MessageRuntimeImpl,\n MessageState,\n} from \"./MessageRuntime\";\nimport { NestedSubscriptionSubject } from \"./subscribable/NestedSubscriptionSubject\";\nimport { ShallowMemoizeSubject } from \"./subscribable/ShallowMemoizeSubject\";\nimport {\n Subscribable,\n SubscribableWithState,\n} from \"./subscribable/Subscribable\";\nimport {\n ThreadComposerRuntime,\n ThreadComposerRuntimeImpl,\n} from \"./ComposerRuntime\";\nimport { LazyMemoizeSubject } from \"./subscribable/LazyMemoizeSubject\";\nimport { SKIP_UPDATE } from \"./subscribable/SKIP_UPDATE\";\nimport { ComposerRuntimeCore } from \"../runtimes/core/ComposerRuntimeCore\";\nimport { MessageRuntimePath, ThreadRuntimePath } from \"./RuntimePathTypes\";\n\nexport type CreateAppendMessage =\n | string\n | {\n parentId?: string | null | undefined;\n role?: AppendMessage[\"role\"] | undefined;\n content: AppendMessage[\"content\"];\n attachments?: AppendMessage[\"attachments\"] | undefined;\n };\n\nconst toAppendMessage = (\n messages: readonly ThreadMessage[],\n message: CreateAppendMessage,\n): AppendMessage => {\n if (typeof message === \"string\") {\n return {\n parentId: messages.at(-1)?.id ?? null,\n role: \"user\",\n content: [{ type: \"text\", text: message }],\n attachments: [],\n };\n }\n\n if (message.role && message.parentId && message.attachments) {\n return message as AppendMessage;\n }\n\n return {\n parentId: message.parentId ?? messages.at(-1)?.id ?? null,\n role: message.role ?? \"user\",\n content: message.content,\n attachments: message.attachments ?? [],\n } as AppendMessage;\n};\n\nexport type ThreadRuntimeCoreBinding = SubscribableWithState<\n ThreadRuntimeCore,\n ThreadRuntimePath\n> & {\n outerSubscribe(callback: () => void): Unsubscribe;\n};\n\nexport type ThreadState = Readonly<{\n /**\n * The thread ID.\n */\n threadId: string;\n /**\n * Whether the thread is disabled. Disabled threads cannot receive new messages.\n */\n isDisabled: boolean;\n\n /**\n * Whether the thread is running. A thread is considered running when there is an active stream connection to the backend.\n */\n isRunning: boolean;\n\n /**\n * The capabilities of the thread, such as whether the thread supports editing, branch switching, etc.\n */\n capabilities: RuntimeCapabilities;\n\n /**\n * The messages in the currently selected branch of the thread.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * Follow up message suggestions to show the user.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * Custom extra information provided by the runtime.\n */\n extras: unknown;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n speech: SpeechState | undefined;\n}>;\n\nexport const getThreadState = (runtime: ThreadRuntimeCore): ThreadState => {\n const lastMessage = runtime.messages.at(-1);\n return Object.freeze({\n threadId: runtime.threadId,\n capabilities: runtime.capabilities,\n isDisabled: runtime.isDisabled,\n isRunning:\n lastMessage?.role !== \"assistant\"\n ? false\n : lastMessage.status.type === \"running\",\n messages: runtime.messages,\n suggestions: runtime.suggestions,\n extras: runtime.extras,\n speech: runtime.speech,\n });\n};\n\nexport type ThreadRuntime = Readonly<{\n readonly path: ThreadRuntimePath;\n\n readonly composer: ThreadComposerRuntime;\n getState(): ThreadState;\n\n /**\n * @deprecated This method will be removed in 0.6.0. Submit feedback if you need this functionality.\n */\n unstable_getCore(): ThreadRuntimeCore;\n\n append(message: CreateAppendMessage): void;\n startRun(parentId: string | null): void;\n subscribe(callback: () => void): Unsubscribe;\n cancelRun(): void;\n getModelConfig(): ModelConfig;\n export(): ExportedMessageRepository;\n import(repository: ExportedMessageRepository): void;\n getMesssageByIndex(idx: number): MessageRuntime;\n getMesssageById(messageId: string): MessageRuntime;\n\n /**\n * @deprecated This API is still under active development and might change without notice.\n */\n stopSpeaking: () => void;\n\n unstable_on(event: ThreadRuntimeEventType, callback: () => void): Unsubscribe;\n\n // Legacy methods with deprecations\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n capabilities: Readonly<RuntimeCapabilities>;\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n threadId: string;\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n isDisabled: boolean;\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n isRunning: boolean;\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n messages: readonly ThreadMessage[];\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n suggestions: readonly ThreadSuggestion[];\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n speech: SpeechState | undefined;\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n extras: unknown;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n getBranches: (messageId: string) => readonly string[];\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n switchToBranch: (branchId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n addToolResult: (options: AddToolResultOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n speak: (messageId: string) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).getState().submittedFeedback` instead. This will be removed in 0.6.0.\n */\n getSubmittedFeedback: (messageId: string) => SubmittedFeedback | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n submitFeedback: (feedback: SubmitFeedbackOptions) => void;\n\n /**\n * @deprecated Use `getMesssageById(id).composer` instead. This will be removed in 0.6.0.\n */\n getEditComposer: (messageId: string) => ComposerRuntimeCore | undefined;\n\n /**\n * @deprecated Use `getMesssageById(id).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n beginEdit: (messageId: string) => void;\n}>;\n\nexport class ThreadRuntimeImpl\n implements Omit<ThreadRuntimeCore, \"getMessageById\">, ThreadRuntime\n{\n public get path() {\n return this._threadBinding.path;\n }\n\n /**\n * @deprecated Use `getState().threadId` instead. This will be removed in 0.6.0.\n */\n public get threadId() {\n return this.getState().threadId;\n }\n\n /**\n * @deprecated Use `getState().isDisabled` instead. This will be removed in 0.6.0.\n */\n public get isDisabled() {\n return this.getState().isDisabled;\n }\n\n /**\n * @deprecated Use `getState().isRunning` instead. This will be removed in 0.6.0.\n */\n public get isRunning() {\n return this.getState().isRunning;\n }\n\n /**\n * @deprecated Use `getState().capabilities` instead. This will be removed in 0.6.0.\n */\n public get capabilities() {\n return this.getState().capabilities;\n }\n\n /**\n * @deprecated Use `getState().extras` instead. This will be removed in 0.6.0.\n */\n public get extras() {\n return this._threadBinding.getState().extras;\n }\n\n /**\n * @deprecated Use `getState().followupSuggestions` instead. This will be removed in 0.6.0.\n */\n public get suggestions() {\n return this._threadBinding.getState().suggestions;\n }\n\n /**\n * @deprecated Use `getState().messages` instead. This will be removed in 0.6.0.\n */\n public get messages() {\n return this._threadBinding.getState().messages;\n }\n\n /**\n * @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.\n */\n public get speech() {\n return this._threadBinding.getState().speech;\n }\n\n public unstable_getCore() {\n return this._threadBinding.getState();\n }\n\n private _threadBinding: ThreadRuntimeCoreBinding & {\n getStateState(): ThreadState;\n };\n\n constructor(threadBinding: ThreadRuntimeCoreBinding) {\n const stateBinding = new LazyMemoizeSubject({\n path: threadBinding.path,\n getState: () => getThreadState(threadBinding.getState()),\n subscribe: (callback) => threadBinding.subscribe(callback),\n });\n\n this._threadBinding = {\n path: threadBinding.path,\n getState: () => threadBinding.getState(),\n getStateState: () => stateBinding.getState(),\n outerSubscribe: (callback) => threadBinding.outerSubscribe(callback),\n subscribe: (callback) => threadBinding.subscribe(callback),\n };\n\n this.composer = new ThreadComposerRuntimeImpl(\n new NestedSubscriptionSubject({\n path: {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.composer`,\n composerSource: \"thread\",\n },\n getState: () => this._threadBinding.getState().composer,\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n );\n }\n\n public readonly composer;\n\n public getState() {\n return this._threadBinding.getStateState();\n }\n\n public append(message: CreateAppendMessage) {\n this._threadBinding\n .getState()\n .append(\n toAppendMessage(this._threadBinding.getState().messages, message),\n );\n }\n\n public subscribe(callback: () => void) {\n return this._threadBinding.subscribe(callback);\n }\n\n /**\n * @derprecated Use `getMesssageById(id).getState().branchNumber` / `getMesssageById(id).getState().branchCount` instead. This will be removed in 0.6.0.\n */\n public getBranches(messageId: string) {\n return this._threadBinding.getState().getBranches(messageId);\n }\n\n public getModelConfig() {\n return this._threadBinding.getState().getModelConfig();\n }\n\n // TODO sometimes you want to continue when there is no child message\n public startRun(parentId: string | null) {\n return this._threadBinding.getState().startRun(parentId);\n }\n\n public cancelRun() {\n this._threadBinding.getState().cancelRun();\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getContentPartByToolCallId(toolCallId).addToolResult({ result })` instead. This will be removed in 0.6.0.\n */\n public addToolResult(options: AddToolResultOptions) {\n this._threadBinding.getState().addToolResult(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).switchToBranch({ options })` instead. This will be removed in 0.6.0.\n */\n public switchToBranch(branchId: string) {\n return this._threadBinding.getState().switchToBranch(branchId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.\n */\n public speak(messageId: string) {\n return this._threadBinding.getState().speak(messageId);\n }\n\n public stopSpeaking() {\n return this._threadBinding.getState().stopSpeaking();\n }\n\n public getSubmittedFeedback(messageId: string) {\n return this._threadBinding.getState().getSubmittedFeedback(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.\n */\n public submitFeedback(options: SubmitFeedbackOptions) {\n return this._threadBinding.getState().submitFeedback(options);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer` instead. This will be removed in 0.6.0.\n */\n public getEditComposer(messageId: string) {\n return this._threadBinding.getState().getEditComposer(messageId);\n }\n\n /**\n * @deprecated Use `getMesssageById(id).getMessageByIndex(idx).composer.beginEdit()` instead. This will be removed in 0.6.0.\n */\n public beginEdit(messageId: string) {\n return this._threadBinding.getState().beginEdit(messageId);\n }\n\n public export() {\n return this._threadBinding.getState().export();\n }\n\n public import(data: ExportedMessageRepository) {\n this._threadBinding.getState().import(data);\n }\n\n public getMesssageByIndex(idx: number) {\n if (idx < 0) throw new Error(\"Message index must be >= 0\");\n\n return this._getMessageRuntime(\n {\n ...this.path,\n ref: this.path.ref + `${this.path.ref}.messages[${idx}]`,\n messageSelector: { type: \"index\", index: idx },\n },\n () => {\n const messages = this._threadBinding.getState().messages;\n const message = messages[idx];\n if (!message) return undefined;\n return {\n message,\n parentId: messages[idx - 1]?.id ?? null,\n };\n },\n );\n }\n\n public getMesssageById(messageId: string) {\n return this._getMessageRuntime(\n {\n ...this.path,\n ref:\n this.path.ref +\n `${this.path.ref}.messages[messageId=${JSON.stringify(messageId)}]`,\n messageSelector: { type: \"messageId\", messageId: messageId },\n },\n () => this._threadBinding.getState().getMessageById(messageId),\n );\n }\n\n private _getMessageRuntime(\n path: MessageRuntimePath,\n callback: () =>\n | { parentId: string | null; message: ThreadMessage }\n | undefined,\n ) {\n return new MessageRuntimeImpl(\n new ShallowMemoizeSubject({\n path,\n getState: () => {\n const { message, parentId } = callback() ?? {};\n\n const { messages, speech: speechState } =\n this._threadBinding.getState();\n\n if (!message || parentId === undefined) return SKIP_UPDATE;\n\n const thread = this._threadBinding.getState();\n\n const branches = thread.getBranches(message.id);\n const submittedFeedback = thread.getSubmittedFeedback(message.id);\n\n return {\n ...message,\n\n message,\n isLast: messages.at(-1)?.id === message.id,\n parentId,\n\n branches,\n branchNumber: branches.indexOf(message.id) + 1,\n branchCount: branches.length,\n\n speech:\n speechState?.messageId === message.id ? speechState : undefined,\n\n submittedFeedback,\n } satisfies MessageState;\n },\n subscribe: (callback) => this._threadBinding.subscribe(callback),\n }),\n this._threadBinding,\n );\n }\n\n private _eventListenerNestedSubscriptions = new Map<\n string,\n NestedSubscriptionSubject<Subscribable, ThreadRuntimePath>\n >();\n\n public unstable_on(\n event: ThreadRuntimeEventType,\n callback: () => void,\n ): Unsubscribe {\n let subject = this._eventListenerNestedSubscriptions.get(event);\n if (!subject) {\n subject = new NestedSubscriptionSubject({\n path: this.path,\n getState: () => ({\n subscribe: (callback) =>\n this._threadBinding.getState().unstable_on(event, callback),\n }),\n subscribe: (callback) => this._threadBinding.outerSubscribe(callback),\n });\n this._eventListenerNestedSubscriptions.set(event, subject);\n }\n return subject.subscribe(callback);\n }\n}\n"],"mappings":"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","names":["callback"]}
package/dist/api/index.js CHANGED
@@ -12,6 +12,8 @@ var __copyProps = (to, from, except, desc) => {
12
12
  return to;
13
13
  };
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/api/index.ts
15
17
  var api_exports = {};
16
18
  module.exports = __toCommonJS(api_exports);
17
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/api/index.ts"],"sourcesContent":["export type { AssistantRuntime } from \"./AssistantRuntime\";\nexport type { ThreadRuntime, ThreadState } from \"./ThreadRuntime\";\nexport type { MessageRuntime, MessageState } from \"./MessageRuntime\";\nexport type {\n ContentPartRuntime,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nexport type {\n ComposerRuntime,\n ThreadComposerRuntime,\n EditComposerRuntime,\n EditComposerState,\n ThreadComposerState,\n ComposerState,\n} from \"./ComposerRuntime\";\nexport type { AttachmentRuntime, AttachmentState } from \"./AttachmentRuntime\";\nexport type {\n ThreadManagerRuntime,\n ThreadManagerState,\n} from \"./ThreadManagerRuntime\";\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/api/index.ts"],"sourcesContent":["export type { AssistantRuntime } from \"./AssistantRuntime\";\nexport type { ThreadRuntime, ThreadState } from \"./ThreadRuntime\";\nexport type { MessageRuntime, MessageState } from \"./MessageRuntime\";\nexport type {\n ContentPartRuntime,\n ContentPartState,\n} from \"./ContentPartRuntime\";\nexport type {\n ComposerRuntime,\n ThreadComposerRuntime,\n EditComposerRuntime,\n EditComposerState,\n ThreadComposerState,\n ComposerState,\n} from \"./ComposerRuntime\";\nexport type { AttachmentRuntime, AttachmentState } from \"./AttachmentRuntime\";\nexport type {\n ThreadManagerRuntime,\n ThreadManagerState,\n} from \"./ThreadManagerRuntime\";\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -16,12 +16,14 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/subscribable/BaseSubject.ts
19
21
  var BaseSubject_exports = {};
20
22
  __export(BaseSubject_exports, {
21
23
  BaseSubject: () => BaseSubject
22
24
  });
23
25
  module.exports = __toCommonJS(BaseSubject_exports);
24
- class BaseSubject {
26
+ var BaseSubject = class {
25
27
  _subscriptions = /* @__PURE__ */ new Set();
26
28
  _connection;
27
29
  get isConnected() {
@@ -47,7 +49,7 @@ class BaseSubject {
47
49
  this._updateConnection();
48
50
  };
49
51
  }
50
- }
52
+ };
51
53
  // Annotate the CommonJS export names for ESM import in node:
52
54
  0 && (module.exports = {
53
55
  BaseSubject
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/BaseSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types/Unsubscribe\";\n\nexport abstract class BaseSubject {\n private _subscriptions = new Set<() => void>();\n private _connection: Unsubscribe | undefined;\n\n protected get isConnected() {\n return !!this._connection;\n }\n\n protected abstract _connect(): Unsubscribe;\n\n protected notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n private _updateConnection() {\n if (this._subscriptions.size > 0) {\n if (this._connection) return;\n this._connection = this._connect();\n } else {\n this._connection?.();\n this._connection = undefined;\n }\n }\n\n public subscribe(callback: () => void) {\n this._subscriptions.add(callback);\n this._updateConnection();\n\n return () => {\n this._subscriptions.delete(callback);\n this._updateConnection();\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAe,YAAY;AAAA,EACxB,iBAAiB,oBAAI,IAAgB;AAAA,EACrC;AAAA,EAER,IAAc,cAAc;AAC1B,WAAO,CAAC,CAAC,KAAK;AAAA,EAChB;AAAA,EAIU,oBAAoB;AAC5B,eAAW,YAAY,KAAK,eAAgB,UAAS;AAAA,EACvD;AAAA,EAEQ,oBAAoB;AAC1B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,UAAI,KAAK,YAAa;AACtB,WAAK,cAAc,KAAK,SAAS;AAAA,IACnC,OAAO;AACL,WAAK,cAAc;AACnB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEO,UAAU,UAAsB;AACrC,SAAK,eAAe,IAAI,QAAQ;AAChC,SAAK,kBAAkB;AAEvB,WAAO,MAAM;AACX,WAAK,eAAe,OAAO,QAAQ;AACnC,WAAK,kBAAkB;AAAA,IACzB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/BaseSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types/Unsubscribe\";\n\nexport abstract class BaseSubject {\n private _subscriptions = new Set<() => void>();\n private _connection: Unsubscribe | undefined;\n\n protected get isConnected() {\n return !!this._connection;\n }\n\n protected abstract _connect(): Unsubscribe;\n\n protected notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n private _updateConnection() {\n if (this._subscriptions.size > 0) {\n if (this._connection) return;\n this._connection = this._connect();\n } else {\n this._connection?.();\n this._connection = undefined;\n }\n }\n\n public subscribe(callback: () => void) {\n this._subscriptions.add(callback);\n this._updateConnection();\n\n return () => {\n this._subscriptions.delete(callback);\n this._updateConnection();\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAe,cAAf,MAA2B;AAAA,EACxB,iBAAiB,oBAAI,IAAgB;AAAA,EACrC;AAAA,EAER,IAAc,cAAc;AAC1B,WAAO,CAAC,CAAC,KAAK;AAAA,EAChB;AAAA,EAIU,oBAAoB;AAC5B,eAAW,YAAY,KAAK,eAAgB,UAAS;AAAA,EACvD;AAAA,EAEQ,oBAAoB;AAC1B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,UAAI,KAAK,YAAa;AACtB,WAAK,cAAc,KAAK,SAAS;AAAA,IACnC,OAAO;AACL,WAAK,cAAc;AACnB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEO,UAAU,UAAsB;AACrC,SAAK,eAAe,IAAI,QAAQ;AAChC,SAAK,kBAAkB;AAEvB,WAAO,MAAM;AACX,WAAK,eAAe,OAAO,QAAQ;AACnC,WAAK,kBAAkB;AAAA,IACzB;AAAA,EACF;AACF;","names":[]}
@@ -1,4 +1,5 @@
1
- class BaseSubject {
1
+ // src/api/subscribable/BaseSubject.ts
2
+ var BaseSubject = class {
2
3
  _subscriptions = /* @__PURE__ */ new Set();
3
4
  _connection;
4
5
  get isConnected() {
@@ -24,7 +25,7 @@ class BaseSubject {
24
25
  this._updateConnection();
25
26
  };
26
27
  }
27
- }
28
+ };
28
29
  export {
29
30
  BaseSubject
30
31
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/BaseSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types/Unsubscribe\";\n\nexport abstract class BaseSubject {\n private _subscriptions = new Set<() => void>();\n private _connection: Unsubscribe | undefined;\n\n protected get isConnected() {\n return !!this._connection;\n }\n\n protected abstract _connect(): Unsubscribe;\n\n protected notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n private _updateConnection() {\n if (this._subscriptions.size > 0) {\n if (this._connection) return;\n this._connection = this._connect();\n } else {\n this._connection?.();\n this._connection = undefined;\n }\n }\n\n public subscribe(callback: () => void) {\n this._subscriptions.add(callback);\n this._updateConnection();\n\n return () => {\n this._subscriptions.delete(callback);\n this._updateConnection();\n };\n }\n}\n"],"mappings":"AAEO,MAAe,YAAY;AAAA,EACxB,iBAAiB,oBAAI,IAAgB;AAAA,EACrC;AAAA,EAER,IAAc,cAAc;AAC1B,WAAO,CAAC,CAAC,KAAK;AAAA,EAChB;AAAA,EAIU,oBAAoB;AAC5B,eAAW,YAAY,KAAK,eAAgB,UAAS;AAAA,EACvD;AAAA,EAEQ,oBAAoB;AAC1B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,UAAI,KAAK,YAAa;AACtB,WAAK,cAAc,KAAK,SAAS;AAAA,IACnC,OAAO;AACL,WAAK,cAAc;AACnB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEO,UAAU,UAAsB;AACrC,SAAK,eAAe,IAAI,QAAQ;AAChC,SAAK,kBAAkB;AAEvB,WAAO,MAAM;AACX,WAAK,eAAe,OAAO,QAAQ;AACnC,WAAK,kBAAkB;AAAA,IACzB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/BaseSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types/Unsubscribe\";\n\nexport abstract class BaseSubject {\n private _subscriptions = new Set<() => void>();\n private _connection: Unsubscribe | undefined;\n\n protected get isConnected() {\n return !!this._connection;\n }\n\n protected abstract _connect(): Unsubscribe;\n\n protected notifySubscribers() {\n for (const callback of this._subscriptions) callback();\n }\n\n private _updateConnection() {\n if (this._subscriptions.size > 0) {\n if (this._connection) return;\n this._connection = this._connect();\n } else {\n this._connection?.();\n this._connection = undefined;\n }\n }\n\n public subscribe(callback: () => void) {\n this._subscriptions.add(callback);\n this._updateConnection();\n\n return () => {\n this._subscriptions.delete(callback);\n this._updateConnection();\n };\n }\n}\n"],"mappings":";AAEO,IAAe,cAAf,MAA2B;AAAA,EACxB,iBAAiB,oBAAI,IAAgB;AAAA,EACrC;AAAA,EAER,IAAc,cAAc;AAC1B,WAAO,CAAC,CAAC,KAAK;AAAA,EAChB;AAAA,EAIU,oBAAoB;AAC5B,eAAW,YAAY,KAAK,eAAgB,UAAS;AAAA,EACvD;AAAA,EAEQ,oBAAoB;AAC1B,QAAI,KAAK,eAAe,OAAO,GAAG;AAChC,UAAI,KAAK,YAAa;AACtB,WAAK,cAAc,KAAK,SAAS;AAAA,IACnC,OAAO;AACL,WAAK,cAAc;AACnB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEO,UAAU,UAAsB;AACrC,SAAK,eAAe,IAAI,QAAQ;AAChC,SAAK,kBAAkB;AAEvB,WAAO,MAAM;AACX,WAAK,eAAe,OAAO,QAAQ;AACnC,WAAK,kBAAkB;AAAA,IACzB;AAAA,EACF;AACF;","names":[]}
@@ -16,14 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/subscribable/LazyMemoizeSubject.ts
19
21
  var LazyMemoizeSubject_exports = {};
20
22
  __export(LazyMemoizeSubject_exports, {
21
23
  LazyMemoizeSubject: () => LazyMemoizeSubject
22
24
  });
23
25
  module.exports = __toCommonJS(LazyMemoizeSubject_exports);
24
- var import_BaseSubject = require("./BaseSubject");
25
- var import_SKIP_UPDATE = require("./SKIP_UPDATE");
26
- class LazyMemoizeSubject extends import_BaseSubject.BaseSubject {
26
+ var import_BaseSubject = require("./BaseSubject.cjs");
27
+ var import_SKIP_UPDATE = require("./SKIP_UPDATE.cjs");
28
+ var LazyMemoizeSubject = class extends import_BaseSubject.BaseSubject {
27
29
  constructor(binding) {
28
30
  super();
29
31
  this.binding = binding;
@@ -52,7 +54,7 @@ class LazyMemoizeSubject extends import_BaseSubject.BaseSubject {
52
54
  };
53
55
  return this.binding.subscribe(callback);
54
56
  }
55
- }
57
+ };
56
58
  // Annotate the CommonJS export names for ESM import in node:
57
59
  0 && (module.exports = {
58
60
  LazyMemoizeSubject
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/LazyMemoizeSubject.ts"],"sourcesContent":["import { BaseSubject } from \"./BaseSubject\";\nimport { SKIP_UPDATE } from \"./SKIP_UPDATE\";\nimport { SubscribableWithState } from \"./Subscribable\";\n\nexport class LazyMemoizeSubject<TState extends object, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(\n private binding: SubscribableWithState<TState | SKIP_UPDATE, TPath>,\n ) {\n super();\n }\n\n private _previousStateDirty = true;\n private _previousState: TState | undefined;\n public getState = () => {\n if (!this.isConnected || this._previousStateDirty) {\n const newState = this.binding.getState();\n if (newState !== SKIP_UPDATE) {\n this._previousState = newState;\n }\n this._previousStateDirty = false;\n }\n if (this._previousState === undefined)\n throw new Error(\"Entry not available in the store\");\n return this._previousState;\n };\n\n protected _connect() {\n const callback = () => {\n this._previousStateDirty = true;\n this.notifySubscribers();\n };\n\n return this.binding.subscribe(callback);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4B;AAC5B,yBAA4B;AAGrB,MAAM,2BACH,+BAEV;AAAA,EAKE,YACU,SACR;AACA,UAAM;AAFE;AAAA,EAGV;AAAA,EARA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAQQ,sBAAsB;AAAA,EACtB;AAAA,EACD,WAAW,MAAM;AACtB,QAAI,CAAC,KAAK,eAAe,KAAK,qBAAqB;AACjD,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,gCAAa;AAC5B,aAAK,iBAAiB;AAAA,MACxB;AACA,WAAK,sBAAsB;AAAA,IAC7B;AACA,QAAI,KAAK,mBAAmB;AAC1B,YAAM,IAAI,MAAM,kCAAkC;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEU,WAAW;AACnB,UAAM,WAAW,MAAM;AACrB,WAAK,sBAAsB;AAC3B,WAAK,kBAAkB;AAAA,IACzB;AAEA,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/LazyMemoizeSubject.ts"],"sourcesContent":["import { BaseSubject } from \"./BaseSubject\";\nimport { SKIP_UPDATE } from \"./SKIP_UPDATE\";\nimport { SubscribableWithState } from \"./Subscribable\";\n\nexport class LazyMemoizeSubject<TState extends object, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(\n private binding: SubscribableWithState<TState | SKIP_UPDATE, TPath>,\n ) {\n super();\n }\n\n private _previousStateDirty = true;\n private _previousState: TState | undefined;\n public getState = () => {\n if (!this.isConnected || this._previousStateDirty) {\n const newState = this.binding.getState();\n if (newState !== SKIP_UPDATE) {\n this._previousState = newState;\n }\n this._previousStateDirty = false;\n }\n if (this._previousState === undefined)\n throw new Error(\"Entry not available in the store\");\n return this._previousState;\n };\n\n protected _connect() {\n const callback = () => {\n this._previousStateDirty = true;\n this.notifySubscribers();\n };\n\n return this.binding.subscribe(callback);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4B;AAC5B,yBAA4B;AAGrB,IAAM,qBAAN,cACG,+BAEV;AAAA,EAKE,YACU,SACR;AACA,UAAM;AAFE;AAAA,EAGV;AAAA,EARA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAQQ,sBAAsB;AAAA,EACtB;AAAA,EACD,WAAW,MAAM;AACtB,QAAI,CAAC,KAAK,eAAe,KAAK,qBAAqB;AACjD,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,gCAAa;AAC5B,aAAK,iBAAiB;AAAA,MACxB;AACA,WAAK,sBAAsB;AAAA,IAC7B;AACA,QAAI,KAAK,mBAAmB;AAC1B,YAAM,IAAI,MAAM,kCAAkC;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEU,WAAW;AACnB,UAAM,WAAW,MAAM;AACrB,WAAK,sBAAsB;AAC3B,WAAK,kBAAkB;AAAA,IACzB;AAEA,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AACF;","names":[]}
@@ -1,6 +1,7 @@
1
- import { BaseSubject } from "./BaseSubject";
2
- import { SKIP_UPDATE } from "./SKIP_UPDATE";
3
- class LazyMemoizeSubject extends BaseSubject {
1
+ // src/api/subscribable/LazyMemoizeSubject.ts
2
+ import { BaseSubject } from "./BaseSubject.mjs";
3
+ import { SKIP_UPDATE } from "./SKIP_UPDATE.mjs";
4
+ var LazyMemoizeSubject = class extends BaseSubject {
4
5
  constructor(binding) {
5
6
  super();
6
7
  this.binding = binding;
@@ -29,7 +30,7 @@ class LazyMemoizeSubject extends BaseSubject {
29
30
  };
30
31
  return this.binding.subscribe(callback);
31
32
  }
32
- }
33
+ };
33
34
  export {
34
35
  LazyMemoizeSubject
35
36
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/LazyMemoizeSubject.ts"],"sourcesContent":["import { BaseSubject } from \"./BaseSubject\";\nimport { SKIP_UPDATE } from \"./SKIP_UPDATE\";\nimport { SubscribableWithState } from \"./Subscribable\";\n\nexport class LazyMemoizeSubject<TState extends object, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(\n private binding: SubscribableWithState<TState | SKIP_UPDATE, TPath>,\n ) {\n super();\n }\n\n private _previousStateDirty = true;\n private _previousState: TState | undefined;\n public getState = () => {\n if (!this.isConnected || this._previousStateDirty) {\n const newState = this.binding.getState();\n if (newState !== SKIP_UPDATE) {\n this._previousState = newState;\n }\n this._previousStateDirty = false;\n }\n if (this._previousState === undefined)\n throw new Error(\"Entry not available in the store\");\n return this._previousState;\n };\n\n protected _connect() {\n const callback = () => {\n this._previousStateDirty = true;\n this.notifySubscribers();\n };\n\n return this.binding.subscribe(callback);\n }\n}\n"],"mappings":"AAAA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAGrB,MAAM,2BACH,YAEV;AAAA,EAKE,YACU,SACR;AACA,UAAM;AAFE;AAAA,EAGV;AAAA,EARA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAQQ,sBAAsB;AAAA,EACtB;AAAA,EACD,WAAW,MAAM;AACtB,QAAI,CAAC,KAAK,eAAe,KAAK,qBAAqB;AACjD,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,aAAa;AAC5B,aAAK,iBAAiB;AAAA,MACxB;AACA,WAAK,sBAAsB;AAAA,IAC7B;AACA,QAAI,KAAK,mBAAmB;AAC1B,YAAM,IAAI,MAAM,kCAAkC;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEU,WAAW;AACnB,UAAM,WAAW,MAAM;AACrB,WAAK,sBAAsB;AAC3B,WAAK,kBAAkB;AAAA,IACzB;AAEA,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/LazyMemoizeSubject.ts"],"sourcesContent":["import { BaseSubject } from \"./BaseSubject\";\nimport { SKIP_UPDATE } from \"./SKIP_UPDATE\";\nimport { SubscribableWithState } from \"./Subscribable\";\n\nexport class LazyMemoizeSubject<TState extends object, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(\n private binding: SubscribableWithState<TState | SKIP_UPDATE, TPath>,\n ) {\n super();\n }\n\n private _previousStateDirty = true;\n private _previousState: TState | undefined;\n public getState = () => {\n if (!this.isConnected || this._previousStateDirty) {\n const newState = this.binding.getState();\n if (newState !== SKIP_UPDATE) {\n this._previousState = newState;\n }\n this._previousStateDirty = false;\n }\n if (this._previousState === undefined)\n throw new Error(\"Entry not available in the store\");\n return this._previousState;\n };\n\n protected _connect() {\n const callback = () => {\n this._previousStateDirty = true;\n this.notifySubscribers();\n };\n\n return this.binding.subscribe(callback);\n }\n}\n"],"mappings":";AAAA,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAGrB,IAAM,qBAAN,cACG,YAEV;AAAA,EAKE,YACU,SACR;AACA,UAAM;AAFE;AAAA,EAGV;AAAA,EARA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAQQ,sBAAsB;AAAA,EACtB;AAAA,EACD,WAAW,MAAM;AACtB,QAAI,CAAC,KAAK,eAAe,KAAK,qBAAqB;AACjD,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,aAAa;AAC5B,aAAK,iBAAiB;AAAA,MACxB;AACA,WAAK,sBAAsB;AAAA,IAC7B;AACA,QAAI,KAAK,mBAAmB;AAC1B,YAAM,IAAI,MAAM,kCAAkC;AACpD,WAAO,KAAK;AAAA,EACd;AAAA,EAEU,WAAW;AACnB,UAAM,WAAW,MAAM;AACrB,WAAK,sBAAsB;AAC3B,WAAK,kBAAkB;AAAA,IACzB;AAEA,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AACF;","names":[]}
@@ -16,13 +16,15 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/subscribable/NestedSubscriptionSubject.ts
19
21
  var NestedSubscriptionSubject_exports = {};
20
22
  __export(NestedSubscriptionSubject_exports, {
21
23
  NestedSubscriptionSubject: () => NestedSubscriptionSubject
22
24
  });
23
25
  module.exports = __toCommonJS(NestedSubscriptionSubject_exports);
24
- var import_BaseSubject = require("./BaseSubject");
25
- class NestedSubscriptionSubject extends import_BaseSubject.BaseSubject {
26
+ var import_BaseSubject = require("./BaseSubject.cjs");
27
+ var NestedSubscriptionSubject = class extends import_BaseSubject.BaseSubject {
26
28
  constructor(binding) {
27
29
  super();
28
30
  this.binding = binding;
@@ -56,7 +58,7 @@ class NestedSubscriptionSubject extends import_BaseSubject.BaseSubject {
56
58
  innerUnsubscribe?.();
57
59
  };
58
60
  }
59
- }
61
+ };
60
62
  // Annotate the CommonJS export names for ESM import in node:
61
63
  0 && (module.exports = {
62
64
  NestedSubscriptionSubject
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/NestedSubscriptionSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types\";\nimport { BaseSubject } from \"./BaseSubject\";\nimport {\n NestedSubscribable,\n Subscribable,\n SubscribableWithState,\n} from \"./Subscribable\";\n\nexport class NestedSubscriptionSubject<TState extends Subscribable | undefined, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>, NestedSubscribable<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(private binding: NestedSubscribable<TState, TPath>) {\n super();\n }\n\n public getState() {\n return this.binding.getState();\n }\n\n public outerSubscribe(callback: () => void) {\n return this.binding.subscribe(callback);\n }\n\n protected _connect(): Unsubscribe {\n const callback = () => {\n this.notifySubscribers();\n };\n\n let lastState = this.binding.getState();\n let innerUnsubscribe = lastState?.subscribe(callback);\n const onRuntimeUpdate = () => {\n const newState = this.binding.getState();\n if (newState === lastState) return;\n lastState = newState;\n\n innerUnsubscribe?.();\n innerUnsubscribe = this.binding.getState()?.subscribe(callback);\n\n callback();\n };\n\n const outerUnsubscribe = this.outerSubscribe(onRuntimeUpdate);\n return () => {\n outerUnsubscribe?.();\n innerUnsubscribe?.();\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAA4B;AAOrB,MAAM,kCACH,+BAEV;AAAA,EAKE,YAAoB,SAA4C;AAC9D,UAAM;AADY;AAAA,EAEpB;AAAA,EANA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAMO,WAAW;AAChB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC/B;AAAA,EAEO,eAAe,UAAsB;AAC1C,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AAAA,EAEU,WAAwB;AAChC,UAAM,WAAW,MAAM;AACrB,WAAK,kBAAkB;AAAA,IACzB;AAEA,QAAI,YAAY,KAAK,QAAQ,SAAS;AACtC,QAAI,mBAAmB,WAAW,UAAU,QAAQ;AACpD,UAAM,kBAAkB,MAAM;AAC5B,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,UAAW;AAC5B,kBAAY;AAEZ,yBAAmB;AACnB,yBAAmB,KAAK,QAAQ,SAAS,GAAG,UAAU,QAAQ;AAE9D,eAAS;AAAA,IACX;AAEA,UAAM,mBAAmB,KAAK,eAAe,eAAe;AAC5D,WAAO,MAAM;AACX,yBAAmB;AACnB,yBAAmB;AAAA,IACrB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/NestedSubscriptionSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types\";\nimport { BaseSubject } from \"./BaseSubject\";\nimport {\n NestedSubscribable,\n Subscribable,\n SubscribableWithState,\n} from \"./Subscribable\";\n\nexport class NestedSubscriptionSubject<TState extends Subscribable | undefined, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>, NestedSubscribable<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(private binding: NestedSubscribable<TState, TPath>) {\n super();\n }\n\n public getState() {\n return this.binding.getState();\n }\n\n public outerSubscribe(callback: () => void) {\n return this.binding.subscribe(callback);\n }\n\n protected _connect(): Unsubscribe {\n const callback = () => {\n this.notifySubscribers();\n };\n\n let lastState = this.binding.getState();\n let innerUnsubscribe = lastState?.subscribe(callback);\n const onRuntimeUpdate = () => {\n const newState = this.binding.getState();\n if (newState === lastState) return;\n lastState = newState;\n\n innerUnsubscribe?.();\n innerUnsubscribe = this.binding.getState()?.subscribe(callback);\n\n callback();\n };\n\n const outerUnsubscribe = this.outerSubscribe(onRuntimeUpdate);\n return () => {\n outerUnsubscribe?.();\n innerUnsubscribe?.();\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAA4B;AAOrB,IAAM,4BAAN,cACG,+BAEV;AAAA,EAKE,YAAoB,SAA4C;AAC9D,UAAM;AADY;AAAA,EAEpB;AAAA,EANA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAMO,WAAW;AAChB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC/B;AAAA,EAEO,eAAe,UAAsB;AAC1C,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AAAA,EAEU,WAAwB;AAChC,UAAM,WAAW,MAAM;AACrB,WAAK,kBAAkB;AAAA,IACzB;AAEA,QAAI,YAAY,KAAK,QAAQ,SAAS;AACtC,QAAI,mBAAmB,WAAW,UAAU,QAAQ;AACpD,UAAM,kBAAkB,MAAM;AAC5B,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,UAAW;AAC5B,kBAAY;AAEZ,yBAAmB;AACnB,yBAAmB,KAAK,QAAQ,SAAS,GAAG,UAAU,QAAQ;AAE9D,eAAS;AAAA,IACX;AAEA,UAAM,mBAAmB,KAAK,eAAe,eAAe;AAC5D,WAAO,MAAM;AACX,yBAAmB;AACnB,yBAAmB;AAAA,IACrB;AAAA,EACF;AACF;","names":[]}
@@ -1,5 +1,6 @@
1
- import { BaseSubject } from "./BaseSubject";
2
- class NestedSubscriptionSubject extends BaseSubject {
1
+ // src/api/subscribable/NestedSubscriptionSubject.ts
2
+ import { BaseSubject } from "./BaseSubject.mjs";
3
+ var NestedSubscriptionSubject = class extends BaseSubject {
3
4
  constructor(binding) {
4
5
  super();
5
6
  this.binding = binding;
@@ -33,7 +34,7 @@ class NestedSubscriptionSubject extends BaseSubject {
33
34
  innerUnsubscribe?.();
34
35
  };
35
36
  }
36
- }
37
+ };
37
38
  export {
38
39
  NestedSubscriptionSubject
39
40
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/NestedSubscriptionSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types\";\nimport { BaseSubject } from \"./BaseSubject\";\nimport {\n NestedSubscribable,\n Subscribable,\n SubscribableWithState,\n} from \"./Subscribable\";\n\nexport class NestedSubscriptionSubject<TState extends Subscribable | undefined, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>, NestedSubscribable<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(private binding: NestedSubscribable<TState, TPath>) {\n super();\n }\n\n public getState() {\n return this.binding.getState();\n }\n\n public outerSubscribe(callback: () => void) {\n return this.binding.subscribe(callback);\n }\n\n protected _connect(): Unsubscribe {\n const callback = () => {\n this.notifySubscribers();\n };\n\n let lastState = this.binding.getState();\n let innerUnsubscribe = lastState?.subscribe(callback);\n const onRuntimeUpdate = () => {\n const newState = this.binding.getState();\n if (newState === lastState) return;\n lastState = newState;\n\n innerUnsubscribe?.();\n innerUnsubscribe = this.binding.getState()?.subscribe(callback);\n\n callback();\n };\n\n const outerUnsubscribe = this.outerSubscribe(onRuntimeUpdate);\n return () => {\n outerUnsubscribe?.();\n innerUnsubscribe?.();\n };\n }\n}\n"],"mappings":"AACA,SAAS,mBAAmB;AAOrB,MAAM,kCACH,YAEV;AAAA,EAKE,YAAoB,SAA4C;AAC9D,UAAM;AADY;AAAA,EAEpB;AAAA,EANA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAMO,WAAW;AAChB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC/B;AAAA,EAEO,eAAe,UAAsB;AAC1C,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AAAA,EAEU,WAAwB;AAChC,UAAM,WAAW,MAAM;AACrB,WAAK,kBAAkB;AAAA,IACzB;AAEA,QAAI,YAAY,KAAK,QAAQ,SAAS;AACtC,QAAI,mBAAmB,WAAW,UAAU,QAAQ;AACpD,UAAM,kBAAkB,MAAM;AAC5B,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,UAAW;AAC5B,kBAAY;AAEZ,yBAAmB;AACnB,yBAAmB,KAAK,QAAQ,SAAS,GAAG,UAAU,QAAQ;AAE9D,eAAS;AAAA,IACX;AAEA,UAAM,mBAAmB,KAAK,eAAe,eAAe;AAC5D,WAAO,MAAM;AACX,yBAAmB;AACnB,yBAAmB;AAAA,IACrB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/NestedSubscriptionSubject.ts"],"sourcesContent":["import { Unsubscribe } from \"../../types\";\nimport { BaseSubject } from \"./BaseSubject\";\nimport {\n NestedSubscribable,\n Subscribable,\n SubscribableWithState,\n} from \"./Subscribable\";\n\nexport class NestedSubscriptionSubject<TState extends Subscribable | undefined, TPath>\n extends BaseSubject\n implements SubscribableWithState<TState, TPath>, NestedSubscribable<TState, TPath>\n{\n public get path() {\n return this.binding.path;\n }\n\n constructor(private binding: NestedSubscribable<TState, TPath>) {\n super();\n }\n\n public getState() {\n return this.binding.getState();\n }\n\n public outerSubscribe(callback: () => void) {\n return this.binding.subscribe(callback);\n }\n\n protected _connect(): Unsubscribe {\n const callback = () => {\n this.notifySubscribers();\n };\n\n let lastState = this.binding.getState();\n let innerUnsubscribe = lastState?.subscribe(callback);\n const onRuntimeUpdate = () => {\n const newState = this.binding.getState();\n if (newState === lastState) return;\n lastState = newState;\n\n innerUnsubscribe?.();\n innerUnsubscribe = this.binding.getState()?.subscribe(callback);\n\n callback();\n };\n\n const outerUnsubscribe = this.outerSubscribe(onRuntimeUpdate);\n return () => {\n outerUnsubscribe?.();\n innerUnsubscribe?.();\n };\n }\n}\n"],"mappings":";AACA,SAAS,mBAAmB;AAOrB,IAAM,4BAAN,cACG,YAEV;AAAA,EAKE,YAAoB,SAA4C;AAC9D,UAAM;AADY;AAAA,EAEpB;AAAA,EANA,IAAW,OAAO;AAChB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAMO,WAAW;AAChB,WAAO,KAAK,QAAQ,SAAS;AAAA,EAC/B;AAAA,EAEO,eAAe,UAAsB;AAC1C,WAAO,KAAK,QAAQ,UAAU,QAAQ;AAAA,EACxC;AAAA,EAEU,WAAwB;AAChC,UAAM,WAAW,MAAM;AACrB,WAAK,kBAAkB;AAAA,IACzB;AAEA,QAAI,YAAY,KAAK,QAAQ,SAAS;AACtC,QAAI,mBAAmB,WAAW,UAAU,QAAQ;AACpD,UAAM,kBAAkB,MAAM;AAC5B,YAAM,WAAW,KAAK,QAAQ,SAAS;AACvC,UAAI,aAAa,UAAW;AAC5B,kBAAY;AAEZ,yBAAmB;AACnB,yBAAmB,KAAK,QAAQ,SAAS,GAAG,UAAU,QAAQ;AAE9D,eAAS;AAAA,IACX;AAEA,UAAM,mBAAmB,KAAK,eAAe,eAAe;AAC5D,WAAO,MAAM;AACX,yBAAmB;AACnB,yBAAmB;AAAA,IACrB;AAAA,EACF;AACF;","names":[]}
@@ -16,12 +16,14 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/subscribable/SKIP_UPDATE.ts
19
21
  var SKIP_UPDATE_exports = {};
20
22
  __export(SKIP_UPDATE_exports, {
21
23
  SKIP_UPDATE: () => SKIP_UPDATE
22
24
  });
23
25
  module.exports = __toCommonJS(SKIP_UPDATE_exports);
24
- const SKIP_UPDATE = Symbol("skip-update");
26
+ var SKIP_UPDATE = Symbol("skip-update");
25
27
  // Annotate the CommonJS export names for ESM import in node:
26
28
  0 && (module.exports = {
27
29
  SKIP_UPDATE
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/SKIP_UPDATE.ts"],"sourcesContent":["export const SKIP_UPDATE = Symbol(\"skip-update\");\nexport type SKIP_UPDATE = typeof SKIP_UPDATE;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,cAAc,OAAO,aAAa;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/SKIP_UPDATE.ts"],"sourcesContent":["export const SKIP_UPDATE = Symbol(\"skip-update\");\nexport type SKIP_UPDATE = typeof SKIP_UPDATE;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,cAAc,OAAO,aAAa;","names":[]}
@@ -1,4 +1,5 @@
1
- const SKIP_UPDATE = Symbol("skip-update");
1
+ // src/api/subscribable/SKIP_UPDATE.ts
2
+ var SKIP_UPDATE = Symbol("skip-update");
2
3
  export {
3
4
  SKIP_UPDATE
4
5
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/subscribable/SKIP_UPDATE.ts"],"sourcesContent":["export const SKIP_UPDATE = Symbol(\"skip-update\");\nexport type SKIP_UPDATE = typeof SKIP_UPDATE;\n"],"mappings":"AAAO,MAAM,cAAc,OAAO,aAAa;","names":[]}
1
+ {"version":3,"sources":["../../../src/api/subscribable/SKIP_UPDATE.ts"],"sourcesContent":["export const SKIP_UPDATE = Symbol(\"skip-update\");\nexport type SKIP_UPDATE = typeof SKIP_UPDATE;\n"],"mappings":";AAAO,IAAM,cAAc,OAAO,aAAa;","names":[]}