@assistant-ui/core 0.1.0 → 0.1.1

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 (417) hide show
  1. package/LICENSE +21 -0
  2. package/dist/adapters/attachment.js +1 -1
  3. package/dist/adapters/attachment.js.map +1 -1
  4. package/dist/react/AssistantProvider.d.ts +10 -0
  5. package/dist/react/AssistantProvider.d.ts.map +1 -0
  6. package/dist/react/AssistantProvider.js +13 -0
  7. package/dist/react/AssistantProvider.js.map +1 -0
  8. package/dist/react/RuntimeAdapter.d.ts +3 -0
  9. package/dist/react/RuntimeAdapter.d.ts.map +1 -0
  10. package/dist/react/RuntimeAdapter.js +13 -0
  11. package/dist/react/RuntimeAdapter.js.map +1 -0
  12. package/dist/react/client/DataRenderers.d.ts +3 -0
  13. package/dist/react/client/DataRenderers.d.ts.map +1 -0
  14. package/dist/react/client/DataRenderers.js +33 -0
  15. package/dist/react/client/DataRenderers.js.map +1 -0
  16. package/dist/react/client/Tools.d.ts +8 -0
  17. package/dist/react/client/Tools.d.ts.map +1 -0
  18. package/dist/react/client/Tools.js +68 -0
  19. package/dist/react/client/Tools.js.map +1 -0
  20. package/dist/react/client/index.d.ts +3 -0
  21. package/dist/react/client/index.d.ts.map +1 -0
  22. package/dist/react/client/index.js +3 -0
  23. package/dist/react/client/index.js.map +1 -0
  24. package/dist/react/index.d.ts +17 -0
  25. package/dist/react/index.d.ts.map +1 -0
  26. package/dist/react/index.js +19 -0
  27. package/dist/react/index.js.map +1 -0
  28. package/dist/react/model-context/index.d.ts +12 -0
  29. package/dist/react/model-context/index.d.ts.map +1 -0
  30. package/dist/react/model-context/index.js +11 -0
  31. package/dist/react/model-context/index.js.map +1 -0
  32. package/dist/react/model-context/makeAssistantDataUI.d.ts +7 -0
  33. package/dist/react/model-context/makeAssistantDataUI.d.ts.map +1 -0
  34. package/dist/react/model-context/makeAssistantDataUI.js +10 -0
  35. package/dist/react/model-context/makeAssistantDataUI.js.map +1 -0
  36. package/dist/react/model-context/makeAssistantTool.d.ts +7 -0
  37. package/dist/react/model-context/makeAssistantTool.d.ts.map +1 -0
  38. package/dist/react/model-context/makeAssistantTool.js +10 -0
  39. package/dist/react/model-context/makeAssistantTool.js.map +1 -0
  40. package/dist/react/model-context/makeAssistantToolUI.d.ts +7 -0
  41. package/dist/react/model-context/makeAssistantToolUI.d.ts.map +1 -0
  42. package/dist/react/model-context/makeAssistantToolUI.js +10 -0
  43. package/dist/react/model-context/makeAssistantToolUI.js.map +1 -0
  44. package/dist/react/model-context/toolbox.d.ts +10 -0
  45. package/dist/react/model-context/toolbox.d.ts.map +1 -0
  46. package/dist/react/model-context/toolbox.js +2 -0
  47. package/dist/react/model-context/toolbox.js.map +1 -0
  48. package/dist/react/model-context/useAssistantDataUI.d.ts +7 -0
  49. package/dist/react/model-context/useAssistantDataUI.d.ts.map +1 -0
  50. package/dist/react/model-context/useAssistantDataUI.js +11 -0
  51. package/dist/react/model-context/useAssistantDataUI.js.map +1 -0
  52. package/dist/react/model-context/useAssistantInstructions.d.ts +4 -0
  53. package/dist/react/model-context/useAssistantInstructions.d.ts.map +1 -0
  54. package/dist/react/model-context/useAssistantInstructions.js +22 -0
  55. package/dist/react/model-context/useAssistantInstructions.js.map +1 -0
  56. package/dist/react/model-context/useAssistantTool.d.ts +7 -0
  57. package/dist/react/model-context/useAssistantTool.d.ts.map +1 -0
  58. package/dist/react/model-context/useAssistantTool.js +22 -0
  59. package/dist/react/model-context/useAssistantTool.js.map +1 -0
  60. package/dist/react/model-context/useAssistantToolUI.d.ts +7 -0
  61. package/dist/react/model-context/useAssistantToolUI.d.ts.map +1 -0
  62. package/dist/react/model-context/useAssistantToolUI.js +11 -0
  63. package/dist/react/model-context/useAssistantToolUI.js.map +1 -0
  64. package/dist/react/model-context/useInlineRender.d.ts +4 -0
  65. package/dist/react/model-context/useInlineRender.d.ts.map +1 -0
  66. package/dist/react/model-context/useInlineRender.js +15 -0
  67. package/dist/react/model-context/useInlineRender.js.map +1 -0
  68. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts +27 -0
  69. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.d.ts.map +1 -0
  70. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js +27 -0
  71. package/dist/react/primitives/chainOfThought/ChainOfThoughtParts.js.map +1 -0
  72. package/dist/react/primitives/composer/ComposerAttachments.d.ts +23 -0
  73. package/dist/react/primitives/composer/ComposerAttachments.d.ts.map +1 -0
  74. package/dist/react/primitives/composer/ComposerAttachments.js +47 -0
  75. package/dist/react/primitives/composer/ComposerAttachments.js.map +1 -0
  76. package/dist/react/primitives/composer/ComposerIf.d.ts +20 -0
  77. package/dist/react/primitives/composer/ComposerIf.d.ts.map +1 -0
  78. package/dist/react/primitives/composer/ComposerIf.js +24 -0
  79. package/dist/react/primitives/composer/ComposerIf.js.map +1 -0
  80. package/dist/react/primitives/message/MessageAttachments.d.ts +23 -0
  81. package/dist/react/primitives/message/MessageAttachments.d.ts.map +1 -0
  82. package/dist/react/primitives/message/MessageAttachments.js +51 -0
  83. package/dist/react/primitives/message/MessageAttachments.js.map +1 -0
  84. package/dist/react/primitives/message/MessageParts.d.ts +139 -0
  85. package/dist/react/primitives/message/MessageParts.d.ts.map +1 -0
  86. package/dist/react/primitives/message/MessageParts.js +251 -0
  87. package/dist/react/primitives/message/MessageParts.js.map +1 -0
  88. package/dist/react/primitives/thread/ThreadMessages.d.ts +95 -0
  89. package/dist/react/primitives/thread/ThreadMessages.d.ts.map +1 -0
  90. package/dist/react/primitives/thread/ThreadMessages.js +112 -0
  91. package/dist/react/primitives/thread/ThreadMessages.js.map +1 -0
  92. package/dist/react/primitives/thread/ThreadSuggestions.d.ts +28 -0
  93. package/dist/react/primitives/thread/ThreadSuggestions.d.ts.map +1 -0
  94. package/dist/react/primitives/thread/ThreadSuggestions.js +32 -0
  95. package/dist/react/primitives/thread/ThreadSuggestions.js.map +1 -0
  96. package/dist/react/primitives/threadList/ThreadListItems.d.ts +22 -0
  97. package/dist/react/primitives/threadList/ThreadListItems.d.ts.map +1 -0
  98. package/dist/react/primitives/threadList/ThreadListItems.js +23 -0
  99. package/dist/react/primitives/threadList/ThreadListItems.js.map +1 -0
  100. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts +8 -0
  101. package/dist/react/primitives/threadListItem/ThreadListItemTitle.d.ts.map +1 -0
  102. package/dist/react/primitives/threadListItem/ThreadListItemTitle.js +8 -0
  103. package/dist/react/primitives/threadListItem/ThreadListItemTitle.js.map +1 -0
  104. package/dist/react/providers/AttachmentByIndexProvider.d.ts +8 -0
  105. package/dist/react/providers/AttachmentByIndexProvider.d.ts.map +1 -0
  106. package/dist/react/providers/AttachmentByIndexProvider.js +23 -0
  107. package/dist/react/providers/AttachmentByIndexProvider.js.map +1 -0
  108. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts +6 -0
  109. package/dist/react/providers/ChainOfThoughtByIndicesProvider.d.ts.map +1 -0
  110. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js +20 -0
  111. package/dist/react/providers/ChainOfThoughtByIndicesProvider.js.map +1 -0
  112. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts +5 -0
  113. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.d.ts.map +1 -0
  114. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js +13 -0
  115. package/dist/react/providers/ChainOfThoughtPartByIndexProvider.js.map +1 -0
  116. package/dist/react/providers/MessageByIndexProvider.d.ts +5 -0
  117. package/dist/react/providers/MessageByIndexProvider.d.ts.map +1 -0
  118. package/dist/react/providers/MessageByIndexProvider.js +18 -0
  119. package/dist/react/providers/MessageByIndexProvider.js.map +1 -0
  120. package/dist/react/providers/PartByIndexProvider.d.ts +5 -0
  121. package/dist/react/providers/PartByIndexProvider.d.ts.map +1 -0
  122. package/dist/react/providers/PartByIndexProvider.js +13 -0
  123. package/dist/react/providers/PartByIndexProvider.js.map +1 -0
  124. package/dist/react/providers/SuggestionByIndexProvider.d.ts +6 -0
  125. package/dist/react/providers/SuggestionByIndexProvider.d.ts.map +1 -0
  126. package/dist/react/providers/SuggestionByIndexProvider.js +13 -0
  127. package/dist/react/providers/SuggestionByIndexProvider.js.map +1 -0
  128. package/dist/react/providers/TextMessagePartProvider.d.ts +6 -0
  129. package/dist/react/providers/TextMessagePartProvider.d.ts.map +1 -0
  130. package/dist/react/providers/TextMessagePartProvider.js +26 -0
  131. package/dist/react/providers/TextMessagePartProvider.js.map +1 -0
  132. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts +6 -0
  133. package/dist/react/providers/ThreadListItemByIndexProvider.d.ts.map +1 -0
  134. package/dist/react/providers/ThreadListItemByIndexProvider.js +13 -0
  135. package/dist/react/providers/ThreadListItemByIndexProvider.js.map +1 -0
  136. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts +6 -0
  137. package/dist/react/providers/ThreadListItemRuntimeProvider.d.ts.map +1 -0
  138. package/dist/react/providers/ThreadListItemRuntimeProvider.js +10 -0
  139. package/dist/react/providers/ThreadListItemRuntimeProvider.js.map +1 -0
  140. package/dist/react/providers/index.d.ts +10 -0
  141. package/dist/react/providers/index.d.ts.map +1 -0
  142. package/dist/react/providers/index.js +10 -0
  143. package/dist/react/providers/index.js.map +1 -0
  144. package/dist/react/types/MessagePartComponentTypes.d.ts +33 -0
  145. package/dist/react/types/MessagePartComponentTypes.d.ts.map +1 -0
  146. package/dist/react/types/MessagePartComponentTypes.js +2 -0
  147. package/dist/react/types/MessagePartComponentTypes.js.map +1 -0
  148. package/dist/react/types/index.d.ts +3 -0
  149. package/dist/react/types/index.d.ts.map +1 -0
  150. package/dist/react/types/index.js +2 -0
  151. package/dist/react/types/index.js.map +1 -0
  152. package/dist/react/types/scopes/dataRenderers.d.ts +13 -0
  153. package/dist/react/types/scopes/dataRenderers.d.ts.map +1 -0
  154. package/dist/react/types/scopes/dataRenderers.js +2 -0
  155. package/dist/react/types/scopes/dataRenderers.js.map +1 -0
  156. package/dist/react/types/scopes/index.d.ts +3 -0
  157. package/dist/react/types/scopes/index.d.ts.map +1 -0
  158. package/dist/react/types/scopes/index.js +2 -0
  159. package/dist/react/types/scopes/index.js.map +1 -0
  160. package/dist/react/types/scopes/tools.d.ts +13 -0
  161. package/dist/react/types/scopes/tools.d.ts.map +1 -0
  162. package/dist/react/types/scopes/tools.js +2 -0
  163. package/dist/react/types/scopes/tools.js.map +1 -0
  164. package/dist/react/types/store-augmentation.d.ts +10 -0
  165. package/dist/react/types/store-augmentation.d.ts.map +1 -0
  166. package/dist/react/types/store-augmentation.js +2 -0
  167. package/dist/react/types/store-augmentation.js.map +1 -0
  168. package/dist/runtime/api/attachment-runtime.d.ts +2 -2
  169. package/dist/runtime/api/attachment-runtime.d.ts.map +1 -1
  170. package/dist/runtime/api/attachment-runtime.js.map +1 -1
  171. package/dist/runtime/api/composer-runtime.d.ts +8 -6
  172. package/dist/runtime/api/composer-runtime.d.ts.map +1 -1
  173. package/dist/runtime/api/composer-runtime.js +2 -2
  174. package/dist/runtime/api/composer-runtime.js.map +1 -1
  175. package/dist/runtime/api/thread-runtime.d.ts +27 -2
  176. package/dist/runtime/api/thread-runtime.d.ts.map +1 -1
  177. package/dist/runtime/base/base-composer-runtime-core.d.ts +2 -2
  178. package/dist/runtime/base/base-composer-runtime-core.d.ts.map +1 -1
  179. package/dist/runtime/base/base-composer-runtime-core.js +28 -8
  180. package/dist/runtime/base/base-composer-runtime-core.js.map +1 -1
  181. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts +1 -2
  182. package/dist/runtime/base/default-thread-composer-runtime-core.d.ts.map +1 -1
  183. package/dist/runtime/base/default-thread-composer-runtime-core.js +0 -3
  184. package/dist/runtime/base/default-thread-composer-runtime-core.js.map +1 -1
  185. package/dist/runtime/index.d.ts +1 -1
  186. package/dist/runtime/index.d.ts.map +1 -1
  187. package/dist/runtime/index.js +1 -1
  188. package/dist/runtime/index.js.map +1 -1
  189. package/dist/runtime/interfaces/composer-runtime-core.d.ts +3 -5
  190. package/dist/runtime/interfaces/composer-runtime-core.d.ts.map +1 -1
  191. package/dist/runtime/utils/external-store-message.d.ts +8 -0
  192. package/dist/runtime/utils/external-store-message.d.ts.map +1 -1
  193. package/dist/runtime/utils/external-store-message.js +12 -0
  194. package/dist/runtime/utils/external-store-message.js.map +1 -1
  195. package/dist/runtime/utils/thread-message-like.d.ts +10 -3
  196. package/dist/runtime/utils/thread-message-like.d.ts.map +1 -1
  197. package/dist/runtime/utils/thread-message-like.js +20 -5
  198. package/dist/runtime/utils/thread-message-like.js.map +1 -1
  199. package/dist/runtimes/external-store/external-store-thread-runtime-core.d.ts.map +1 -1
  200. package/dist/runtimes/external-store/external-store-thread-runtime-core.js +26 -8
  201. package/dist/runtimes/external-store/external-store-thread-runtime-core.js.map +1 -1
  202. package/dist/runtimes/remote-thread-list/empty-thread-core.js +1 -1
  203. package/dist/runtimes/remote-thread-list/empty-thread-core.js.map +1 -1
  204. package/dist/store/clients/chain-of-thought-client.d.ts +1 -1
  205. package/dist/store/clients/chain-of-thought-client.d.ts.map +1 -1
  206. package/dist/store/clients/model-context-client.d.ts +1 -1
  207. package/dist/store/clients/model-context-client.d.ts.map +1 -1
  208. package/dist/store/clients/no-op-composer-client.d.ts +1 -1
  209. package/dist/store/clients/no-op-composer-client.d.ts.map +1 -1
  210. package/dist/store/clients/runtime-adapter.d.ts +5 -0
  211. package/dist/store/clients/runtime-adapter.d.ts.map +1 -0
  212. package/dist/store/clients/runtime-adapter.js +46 -0
  213. package/dist/store/clients/runtime-adapter.js.map +1 -0
  214. package/dist/store/clients/suggestions.d.ts +1 -1
  215. package/dist/store/clients/suggestions.d.ts.map +1 -1
  216. package/dist/store/clients/suggestions.js +1 -1
  217. package/dist/store/clients/suggestions.js.map +1 -1
  218. package/dist/store/clients/thread-message-client.d.ts +1 -1
  219. package/dist/store/clients/thread-message-client.d.ts.map +1 -1
  220. package/dist/store/clients/thread-message-client.js +1 -1
  221. package/dist/store/clients/thread-message-client.js.map +1 -1
  222. package/dist/store/index.d.ts +1 -11
  223. package/dist/store/index.d.ts.map +1 -1
  224. package/dist/store/index.js +2 -9
  225. package/dist/store/index.js.map +1 -1
  226. package/dist/store/internal.d.ts +1 -9
  227. package/dist/store/internal.d.ts.map +1 -1
  228. package/dist/store/internal.js +1 -10
  229. package/dist/store/internal.js.map +1 -1
  230. package/dist/store/runtime-clients/attachment-runtime-client.d.ts +1 -1
  231. package/dist/store/runtime-clients/attachment-runtime-client.d.ts.map +1 -1
  232. package/dist/store/runtime-clients/composer-runtime-client.d.ts +1 -1
  233. package/dist/store/runtime-clients/composer-runtime-client.d.ts.map +1 -1
  234. package/dist/store/runtime-clients/composer-runtime-client.js +1 -1
  235. package/dist/store/runtime-clients/composer-runtime-client.js.map +1 -1
  236. package/dist/store/runtime-clients/message-part-runtime-client.d.ts +1 -1
  237. package/dist/store/runtime-clients/message-part-runtime-client.d.ts.map +1 -1
  238. package/dist/store/runtime-clients/message-runtime-client.d.ts +1 -1
  239. package/dist/store/runtime-clients/message-runtime-client.d.ts.map +1 -1
  240. package/dist/store/runtime-clients/message-runtime-client.js +1 -1
  241. package/dist/store/runtime-clients/message-runtime-client.js.map +1 -1
  242. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts +1 -1
  243. package/dist/store/runtime-clients/thread-list-item-runtime-client.d.ts.map +1 -1
  244. package/dist/store/runtime-clients/thread-list-item-runtime-client.js +1 -1
  245. package/dist/store/runtime-clients/thread-list-item-runtime-client.js.map +1 -1
  246. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts +1 -1
  247. package/dist/store/runtime-clients/thread-list-runtime-client.d.ts.map +1 -1
  248. package/dist/store/runtime-clients/thread-list-runtime-client.js +1 -1
  249. package/dist/store/runtime-clients/thread-list-runtime-client.js.map +1 -1
  250. package/dist/store/runtime-clients/thread-runtime-client.d.ts +1 -1
  251. package/dist/store/runtime-clients/thread-runtime-client.d.ts.map +1 -1
  252. package/dist/store/runtime-clients/thread-runtime-client.js +1 -1
  253. package/dist/store/runtime-clients/thread-runtime-client.js.map +1 -1
  254. package/dist/store/scope-registration.d.ts +27 -0
  255. package/dist/store/scope-registration.d.ts.map +1 -0
  256. package/dist/store/scope-registration.js +2 -0
  257. package/dist/store/scope-registration.js.map +1 -0
  258. package/dist/store/scopes/composer.d.ts +2 -2
  259. package/dist/store/scopes/composer.d.ts.map +1 -1
  260. package/dist/types/attachment.d.ts +9 -2
  261. package/dist/types/attachment.d.ts.map +1 -1
  262. package/dist/types/index.d.ts +1 -1
  263. package/dist/types/index.d.ts.map +1 -1
  264. package/package.json +35 -12
  265. package/src/adapters/attachment.ts +1 -1
  266. package/src/react/AssistantProvider.tsx +34 -0
  267. package/src/react/RuntimeAdapter.ts +22 -0
  268. package/src/react/client/DataRenderers.ts +42 -0
  269. package/src/react/client/Tools.ts +97 -0
  270. package/src/react/client/index.ts +2 -0
  271. package/src/react/index.ts +50 -0
  272. package/src/react/model-context/index.ts +25 -0
  273. package/src/react/model-context/makeAssistantDataUI.ts +20 -0
  274. package/src/react/model-context/makeAssistantTool.ts +20 -0
  275. package/src/react/model-context/makeAssistantToolUI.ts +20 -0
  276. package/src/react/model-context/toolbox.ts +15 -0
  277. package/src/react/model-context/useAssistantDataUI.ts +16 -0
  278. package/src/react/model-context/useAssistantInstructions.ts +30 -0
  279. package/src/react/model-context/useAssistantTool.ts +37 -0
  280. package/src/react/model-context/useAssistantToolUI.ts +18 -0
  281. package/src/react/model-context/useInlineRender.ts +25 -0
  282. package/src/react/primitives/chainOfThought/ChainOfThoughtParts.tsx +73 -0
  283. package/src/react/primitives/composer/ComposerAttachments.tsx +95 -0
  284. package/src/react/primitives/composer/ComposerIf.tsx +49 -0
  285. package/src/react/primitives/message/MessageAttachments.tsx +98 -0
  286. package/src/react/primitives/message/MessageParts.tsx +561 -0
  287. package/src/react/primitives/thread/ThreadMessages.tsx +222 -0
  288. package/src/react/primitives/thread/ThreadSuggestions.tsx +82 -0
  289. package/src/react/primitives/threadList/ThreadListItems.tsx +66 -0
  290. package/src/react/primitives/threadListItem/ThreadListItemTitle.tsx +17 -0
  291. package/src/react/providers/AttachmentByIndexProvider.tsx +34 -0
  292. package/src/react/providers/ChainOfThoughtByIndicesProvider.tsx +34 -0
  293. package/src/react/providers/ChainOfThoughtPartByIndexProvider.tsx +18 -0
  294. package/src/react/providers/MessageByIndexProvider.tsx +23 -0
  295. package/src/react/providers/PartByIndexProvider.tsx +18 -0
  296. package/src/react/providers/SuggestionByIndexProvider.tsx +21 -0
  297. package/src/react/providers/TextMessagePartProvider.tsx +46 -0
  298. package/src/react/providers/ThreadListItemByIndexProvider.tsx +19 -0
  299. package/src/react/providers/ThreadListItemRuntimeProvider.tsx +16 -0
  300. package/src/react/providers/index.ts +15 -0
  301. package/src/react/types/MessagePartComponentTypes.ts +66 -0
  302. package/src/react/types/index.ts +31 -0
  303. package/src/react/types/scopes/dataRenderers.ts +15 -0
  304. package/src/react/types/scopes/index.ts +6 -0
  305. package/src/react/types/scopes/tools.ts +18 -0
  306. package/src/react/types/store-augmentation.ts +11 -0
  307. package/src/runtime/api/attachment-runtime.ts +2 -7
  308. package/src/runtime/api/composer-runtime.ts +9 -8
  309. package/src/runtime/base/base-composer-runtime-core.ts +28 -8
  310. package/src/runtime/base/default-thread-composer-runtime-core.ts +1 -5
  311. package/src/runtime/index.ts +1 -0
  312. package/src/runtime/interfaces/composer-runtime-core.ts +3 -6
  313. package/src/runtime/utils/external-store-message.ts +15 -0
  314. package/src/runtime/utils/thread-message-like.ts +40 -7
  315. package/src/runtimes/external-store/external-store-thread-runtime-core.ts +29 -12
  316. package/src/runtimes/remote-thread-list/empty-thread-core.ts +1 -1
  317. package/src/store/clients/chain-of-thought-client.ts +1 -1
  318. package/src/store/clients/model-context-client.ts +1 -1
  319. package/src/store/clients/no-op-composer-client.ts +1 -1
  320. package/src/store/clients/runtime-adapter.ts +67 -0
  321. package/src/store/clients/suggestions.ts +2 -2
  322. package/src/store/clients/thread-message-client.ts +2 -2
  323. package/src/store/index.ts +2 -38
  324. package/src/store/internal.ts +4 -31
  325. package/src/store/runtime-clients/attachment-runtime-client.ts +1 -1
  326. package/src/store/runtime-clients/composer-runtime-client.ts +5 -1
  327. package/src/store/runtime-clients/message-part-runtime-client.ts +1 -1
  328. package/src/store/runtime-clients/message-runtime-client.ts +5 -1
  329. package/src/store/runtime-clients/thread-list-item-runtime-client.ts +1 -1
  330. package/src/store/runtime-clients/thread-list-runtime-client.ts +5 -1
  331. package/src/store/runtime-clients/thread-runtime-client.ts +1 -1
  332. package/src/store/scope-registration.ts +27 -0
  333. package/src/store/scopes/composer.ts +2 -1
  334. package/src/tests/external-store-thread-runtime-core.test.ts +152 -0
  335. package/src/tests/thread-message-like.test.ts +110 -0
  336. package/src/types/attachment.ts +10 -2
  337. package/src/types/index.ts +1 -0
  338. package/dist/store/types/client.d.ts +0 -137
  339. package/dist/store/types/client.d.ts.map +0 -1
  340. package/dist/store/types/client.js +0 -2
  341. package/dist/store/types/client.js.map +0 -1
  342. package/dist/store/types/events.d.ts +0 -33
  343. package/dist/store/types/events.d.ts.map +0 -1
  344. package/dist/store/types/events.js +0 -8
  345. package/dist/store/types/events.js.map +0 -1
  346. package/dist/store/types/index.d.ts +0 -3
  347. package/dist/store/types/index.d.ts.map +0 -1
  348. package/dist/store/types/index.js +0 -2
  349. package/dist/store/types/index.js.map +0 -1
  350. package/dist/store/utils/attach-transform-scopes.d.ts +0 -11
  351. package/dist/store/utils/attach-transform-scopes.d.ts.map +0 -1
  352. package/dist/store/utils/attach-transform-scopes.js +0 -12
  353. package/dist/store/utils/attach-transform-scopes.js.map +0 -1
  354. package/dist/store/utils/base-proxy-handler.d.ts +0 -23
  355. package/dist/store/utils/base-proxy-handler.d.ts.map +0 -1
  356. package/dist/store/utils/base-proxy-handler.js +0 -46
  357. package/dist/store/utils/base-proxy-handler.js.map +0 -1
  358. package/dist/store/utils/derived.d.ts +0 -34
  359. package/dist/store/utils/derived.d.ts.map +0 -1
  360. package/dist/store/utils/derived.js +0 -24
  361. package/dist/store/utils/derived.js.map +0 -1
  362. package/dist/store/utils/index.d.ts +0 -7
  363. package/dist/store/utils/index.d.ts.map +0 -1
  364. package/dist/store/utils/index.js +0 -7
  365. package/dist/store/utils/index.js.map +0 -1
  366. package/dist/store/utils/notification-manager.d.ts +0 -11
  367. package/dist/store/utils/notification-manager.d.ts.map +0 -1
  368. package/dist/store/utils/notification-manager.js +0 -84
  369. package/dist/store/utils/notification-manager.js.map +0 -1
  370. package/dist/store/utils/proxied-assistant-state.d.ts +0 -8
  371. package/dist/store/utils/proxied-assistant-state.d.ts.map +0 -1
  372. package/dist/store/utils/proxied-assistant-state.js +0 -33
  373. package/dist/store/utils/proxied-assistant-state.js.map +0 -1
  374. package/dist/store/utils/split-clients.d.ts +0 -10
  375. package/dist/store/utils/split-clients.d.ts.map +0 -1
  376. package/dist/store/utils/split-clients.js +0 -53
  377. package/dist/store/utils/split-clients.js.map +0 -1
  378. package/dist/store/utils/tap-assistant-context.d.ts +0 -19
  379. package/dist/store/utils/tap-assistant-context.d.ts.map +0 -1
  380. package/dist/store/utils/tap-assistant-context.js +0 -23
  381. package/dist/store/utils/tap-assistant-context.js.map +0 -1
  382. package/dist/store/utils/tap-client-list.d.ts +0 -28
  383. package/dist/store/utils/tap-client-list.d.ts.map +0 -1
  384. package/dist/store/utils/tap-client-list.js +0 -68
  385. package/dist/store/utils/tap-client-list.js.map +0 -1
  386. package/dist/store/utils/tap-client-lookup.d.ts +0 -15
  387. package/dist/store/utils/tap-client-lookup.d.ts.map +0 -1
  388. package/dist/store/utils/tap-client-lookup.js +0 -42
  389. package/dist/store/utils/tap-client-lookup.js.map +0 -1
  390. package/dist/store/utils/tap-client-resource.d.ts +0 -13
  391. package/dist/store/utils/tap-client-resource.d.ts.map +0 -1
  392. package/dist/store/utils/tap-client-resource.js +0 -114
  393. package/dist/store/utils/tap-client-resource.js.map +0 -1
  394. package/dist/store/utils/tap-client-stack-context.d.ts +0 -23
  395. package/dist/store/utils/tap-client-stack-context.d.ts.map +0 -1
  396. package/dist/store/utils/tap-client-stack-context.js +0 -28
  397. package/dist/store/utils/tap-client-stack-context.js.map +0 -1
  398. package/dist/store/utils/wrapper-resource.d.ts +0 -3
  399. package/dist/store/utils/wrapper-resource.d.ts.map +0 -1
  400. package/dist/store/utils/wrapper-resource.js +0 -11
  401. package/dist/store/utils/wrapper-resource.js.map +0 -1
  402. package/src/store/types/client.ts +0 -203
  403. package/src/store/types/events.ts +0 -77
  404. package/src/store/types/index.ts +0 -23
  405. package/src/store/utils/attach-transform-scopes.ts +0 -38
  406. package/src/store/utils/base-proxy-handler.ts +0 -50
  407. package/src/store/utils/derived.ts +0 -46
  408. package/src/store/utils/index.ts +0 -28
  409. package/src/store/utils/notification-manager.ts +0 -114
  410. package/src/store/utils/proxied-assistant-state.ts +0 -55
  411. package/src/store/utils/split-clients.ts +0 -82
  412. package/src/store/utils/tap-assistant-context.ts +0 -58
  413. package/src/store/utils/tap-client-list.ts +0 -121
  414. package/src/store/utils/tap-client-lookup.ts +0 -79
  415. package/src/store/utils/tap-client-resource.ts +0 -187
  416. package/src/store/utils/tap-client-stack-context.ts +0 -51
  417. package/src/store/utils/wrapper-resource.ts +0 -17
@@ -1,33 +0,0 @@
1
- import type { AssistantClientAccessor, ClientEvents, ClientNames } from "./client.js";
2
- type UnionToIntersection<U> = (U extends unknown ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
3
- type ClientEventMap = UnionToIntersection<{
4
- [K in ClientNames]: ClientEvents<K>;
5
- }[ClientNames]>;
6
- type WildcardPayload = {
7
- [K in keyof ClientEventMap]: {
8
- event: K;
9
- payload: ClientEventMap[K];
10
- };
11
- }[keyof ClientEventMap];
12
- export type AssistantEventPayload = ClientEventMap & {
13
- "*": WildcardPayload;
14
- };
15
- export type AssistantEventName = keyof AssistantEventPayload;
16
- type EventSource<T extends AssistantEventName> = T extends `${infer Source}.${string}` ? Source : never;
17
- type ParentOf<K extends ClientNames> = AssistantClientAccessor<K> extends {
18
- source: infer S;
19
- } ? S extends ClientNames ? S : never : never;
20
- type AncestorsOf<K extends ClientNames, Seen extends ClientNames = never> = K extends Seen ? never : ParentOf<K> extends never ? never : ParentOf<K> | AncestorsOf<ParentOf<K>, Seen | K>;
21
- /** Valid scopes: `"*"` | event source | ancestors of event source */
22
- export type AssistantEventScope<TEvent extends AssistantEventName> = "*" | EventSource<TEvent> | (EventSource<TEvent> extends ClientNames ? AncestorsOf<EventSource<TEvent>> : never);
23
- export type AssistantEventSelector<TEvent extends AssistantEventName> = TEvent | {
24
- scope: AssistantEventScope<TEvent>;
25
- event: TEvent;
26
- };
27
- export declare const normalizeEventSelector: <TEvent extends AssistantEventName>(selector: AssistantEventSelector<TEvent>) => {
28
- scope: AssistantEventScope<TEvent>;
29
- event: TEvent;
30
- };
31
- export type AssistantEventCallback<TEvent extends AssistantEventName> = (payload: AssistantEventPayload[TEvent]) => void;
32
- export {};
33
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/store/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACZ,oBAAiB;AAGlB,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAC5B,CAAC,SAAS,OAAO,GACb,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GACd,KAAK,CACV,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,cAAc,GAAG,mBAAmB,CACvC;KAAG,CAAC,IAAI,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC;CAAE,CAAC,WAAW,CAAC,CACrD,CAAC;AAIF,KAAK,eAAe,GAAG;KACpB,CAAC,IAAI,MAAM,cAAc,GAAG;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;KAAE;CACtE,CAAC,MAAM,cAAc,CAAC,CAAC;AAExB,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IAAE,GAAG,EAAE,eAAe,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC;AAE7D,KAAK,WAAW,CAAC,CAAC,SAAS,kBAAkB,IAC3C,CAAC,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC;AAIzD,KAAK,QAAQ,CAAC,CAAC,SAAS,WAAW,IACjC,uBAAuB,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAClD,CAAC,SAAS,WAAW,GACnB,CAAC,GACD,KAAK,GACP,KAAK,CAAC;AAEZ,KAAK,WAAW,CACd,CAAC,SAAS,WAAW,EACrB,IAAI,SAAS,WAAW,GAAG,KAAK,IAC9B,CAAC,SAAS,IAAI,GACd,KAAK,GACL,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,GACvB,KAAK,GACL,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;AAEvD,qEAAqE;AACrE,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,kBAAkB,IAC7D,GAAG,GACH,WAAW,CAAC,MAAM,CAAC,GACnB,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,WAAW,GACpC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAChC,KAAK,CAAC,CAAC;AAIf,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,kBAAkB,IAChE,MAAM,GACN;IAAE,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,kBAAkB,EACtE,UAAU,sBAAsB,CAAC,MAAM,CAAC;;;CAOzC,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,kBAAkB,IAAI,CACtE,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,KACnC,IAAI,CAAC"}
@@ -1,8 +0,0 @@
1
- export const normalizeEventSelector = (selector) => {
2
- if (typeof selector === "string") {
3
- const source = selector.split(".")[0];
4
- return { scope: source, event: selector };
5
- }
6
- return { scope: selector.scope, event: selector.event };
7
- };
8
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/store/types/events.ts"],"names":[],"mappings":"AAgEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAwC,EACxC,EAAE;IACF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAgC,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC1D,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export type { ClientMethods, ClientSchema, ScopeRegistry, ClientOutput, ClientNames, ClientEvents, ClientMeta, ClientElement, Unsubscribe, AssistantState, AssistantClientAccessor, AssistantClient, } from "./client.js";
2
- export { normalizeEventSelector, type AssistantEventPayload, type AssistantEventName, type AssistantEventScope, type AssistantEventSelector, type AssistantEventCallback, } from "./events.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,oBAAiB;AAElB,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,oBAAiB"}
@@ -1,2 +0,0 @@
1
- export { normalizeEventSelector, } from "./events.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/types/index.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,sBAAsB,GAMvB,oBAAiB"}
@@ -1,11 +0,0 @@
1
- import type { ResourceElement } from "@assistant-ui/tap";
2
- import type { AssistantClient, ClientElement, ClientNames } from "../types/client.js";
3
- import type { DerivedElement } from "./derived.js";
4
- export type ScopesConfig = {
5
- [K in ClientNames]?: ClientElement<K> | DerivedElement<K>;
6
- };
7
- type TransformScopesFn = (scopes: ScopesConfig, parent: AssistantClient) => ScopesConfig;
8
- export declare function attachTransformScopes<T extends (...args: any[]) => ResourceElement<any>>(resource: T, transform: TransformScopesFn): void;
9
- export declare function getTransformScopes<T extends (...args: any[]) => ResourceElement<any>>(resource: T): TransformScopesFn | undefined;
10
- export {};
11
- //# sourceMappingURL=attach-transform-scopes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attach-transform-scopes.d.ts","sourceRoot":"","sources":["../../../src/store/utils/attach-transform-scopes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,WAAW,EACZ,2BAAwB;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAkB;AAIhD,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,KAAK,iBAAiB,GAAG,CACvB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,eAAe,KACpB,YAAY,CAAC;AAMlB,wBAAgB,qBAAqB,CACnC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,eAAe,CAAC,GAAG,CAAC,EAClD,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAMjD;AAED,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,eAAe,CAAC,GAAG,CAAC,EAClD,QAAQ,EAAE,CAAC,GAAG,iBAAiB,GAAG,SAAS,CAE5C"}
@@ -1,12 +0,0 @@
1
- const TRANSFORM_SCOPES = Symbol("assistant-ui.transform-scopes");
2
- export function attachTransformScopes(resource, transform) {
3
- const r = resource;
4
- if (r[TRANSFORM_SCOPES]) {
5
- throw new Error("transformScopes is already attached to this resource");
6
- }
7
- r[TRANSFORM_SCOPES] = transform;
8
- }
9
- export function getTransformScopes(resource) {
10
- return resource[TRANSFORM_SCOPES];
11
- }
12
- //# sourceMappingURL=attach-transform-scopes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attach-transform-scopes.js","sourceRoot":"","sources":["../../../src/store/utils/attach-transform-scopes.ts"],"names":[],"mappings":"AAQA,MAAM,gBAAgB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAejE,MAAM,UAAU,qBAAqB,CAEnC,QAAW,EAAE,SAA4B;IACzC,MAAM,CAAC,GAAG,QAA2C,CAAC;IACtD,IAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,CAAC,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAEhC,QAAW;IACX,OAAQ,QAA4C,CAAC,gBAAgB,CAAC,CAAC;AACzE,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Handles common proxy introspection properties.
3
- * Returns the appropriate value for toStringTag, toJSON, and props that should return undefined.
4
- * Returns `false` if the prop should be handled by the subclass.
5
- */
6
- export declare const handleIntrospectionProp: (prop: string | symbol, name: string) => unknown | false;
7
- export declare abstract class BaseProxyHandler implements ProxyHandler<object> {
8
- abstract get(_: unknown, prop: string | symbol, receiver?: unknown): unknown;
9
- abstract ownKeys(): ArrayLike<string | symbol>;
10
- abstract has(_: unknown, prop: string | symbol): boolean;
11
- getOwnPropertyDescriptor(_: unknown, prop: string | symbol): {
12
- value: {} | null;
13
- writable: boolean;
14
- enumerable: boolean;
15
- configurable: boolean;
16
- } | undefined;
17
- set(): boolean;
18
- setPrototypeOf(): boolean;
19
- defineProperty(): boolean;
20
- deleteProperty(): boolean;
21
- preventExtensions(): boolean;
22
- }
23
- //# sourceMappingURL=base-proxy-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-proxy-handler.d.ts","sourceRoot":"","sources":["../../../src/store/utils/base-proxy-handler.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,GAAG,MAAM,EACrB,MAAM,MAAM,KACX,OAAO,GAAG,KAMZ,CAAC;AAEF,8BAAsB,gBAAiB,YAAW,YAAY,CAAC,MAAM,CAAC;IACpE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO;IAC5E,QAAQ,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAExD,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;;;;;;IAW1D,GAAG;IAGH,cAAc;IAGd,cAAc;IAGd,cAAc;IAGd,iBAAiB,IAAI,OAAO;CAG7B"}
@@ -1,46 +0,0 @@
1
- const INTROSPECTION_PROPS = new Set(["$$typeof", "nodeType", "then"]);
2
- /**
3
- * Handles common proxy introspection properties.
4
- * Returns the appropriate value for toStringTag, toJSON, and props that should return undefined.
5
- * Returns `false` if the prop should be handled by the subclass.
6
- */
7
- export const handleIntrospectionProp = (prop, name) => {
8
- if (prop === Symbol.toStringTag)
9
- return name;
10
- if (typeof prop === "symbol")
11
- return undefined;
12
- if (prop === "toJSON")
13
- return () => name;
14
- if (INTROSPECTION_PROPS.has(prop))
15
- return undefined;
16
- return false;
17
- };
18
- export class BaseProxyHandler {
19
- getOwnPropertyDescriptor(_, prop) {
20
- const value = this.get(_, prop);
21
- if (value === undefined)
22
- return undefined;
23
- return {
24
- value,
25
- writable: false,
26
- enumerable: true,
27
- configurable: false,
28
- };
29
- }
30
- set() {
31
- return false;
32
- }
33
- setPrototypeOf() {
34
- return false;
35
- }
36
- defineProperty() {
37
- return false;
38
- }
39
- deleteProperty() {
40
- return false;
41
- }
42
- preventExtensions() {
43
- return false;
44
- }
45
- }
46
- //# sourceMappingURL=base-proxy-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-proxy-handler.js","sourceRoot":"","sources":["../../../src/store/utils/base-proxy-handler.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAqB,EACrB,IAAY,EACK,EAAE;IACnB,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACzC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,OAAgB,gBAAgB;IAKpC,wBAAwB,CAAC,CAAU,EAAE,IAAqB;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,GAAG;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,iBAAiB;QACf,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1,34 +0,0 @@
1
- import { ResourceElement } from "@assistant-ui/tap";
2
- import type { AssistantClient, ClientNames, AssistantClientAccessor, ClientMeta } from "../types/client.js";
3
- /**
4
- * Creates a derived client field that references a client from a parent scope.
5
- * The get callback always calls the most recent version (useEffectEvent pattern).
6
- *
7
- * IMPORTANT: The `get` callback must return a client that was created via
8
- * `tapClientResource` (or `tapClientLookup`/`tapClientList` which use it internally).
9
- * This is required for event scoping to work correctly.
10
- *
11
- * @example
12
- * ```typescript
13
- * const aui = useAui({
14
- * message: Derived({
15
- * source: "thread",
16
- * query: { index: 0 },
17
- * get: (aui) => aui.thread().message({ index: 0 }),
18
- * }),
19
- * });
20
- * ```
21
- */
22
- export declare const Derived: <K extends ClientNames>(props: Derived.Props<K>) => ResourceElement<null, Derived.Props<K>>;
23
- export type DerivedElement<K extends ClientNames> = ResourceElement<null, Derived.Props<K>>;
24
- export declare namespace Derived {
25
- /**
26
- * Props passed to a derived client resource element.
27
- */
28
- type Props<K extends ClientNames> = {
29
- get: (client: AssistantClient) => ReturnType<AssistantClientAccessor<K>>;
30
- } & (ClientMeta<K> | {
31
- getMeta: (client: AssistantClient) => ClientMeta<K>;
32
- });
33
- }
34
- //# sourceMappingURL=derived.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../../src/store/utils/derived.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,UAAU,EACX,2BAAwB;AAEzB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,OAAO,GACjB,CAAC,SAAS,WAAW,qEAGvB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,eAAe,CACjE,IAAI,EACJ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACjB,CAAC;AAEF,yBAAiB,OAAO,CAAC;IACvB;;OAEG;IACH,KAAY,KAAK,CAAC,CAAC,SAAS,WAAW,IAAI;QACzC,GAAG,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1E,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;CAC/E"}
@@ -1,24 +0,0 @@
1
- import { resource } from "@assistant-ui/tap";
2
- /**
3
- * Creates a derived client field that references a client from a parent scope.
4
- * The get callback always calls the most recent version (useEffectEvent pattern).
5
- *
6
- * IMPORTANT: The `get` callback must return a client that was created via
7
- * `tapClientResource` (or `tapClientLookup`/`tapClientList` which use it internally).
8
- * This is required for event scoping to work correctly.
9
- *
10
- * @example
11
- * ```typescript
12
- * const aui = useAui({
13
- * message: Derived({
14
- * source: "thread",
15
- * query: { index: 0 },
16
- * get: (aui) => aui.thread().message({ index: 0 }),
17
- * }),
18
- * });
19
- * ```
20
- */
21
- export const Derived = resource((_config) => {
22
- return null;
23
- });
24
- //# sourceMappingURL=derived.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derived.js","sourceRoot":"","sources":["../../../src/store/utils/derived.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAC;AAQ9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAC7B,CAAwB,OAAyB,EAAQ,EAAE;IACzD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC"}
@@ -1,7 +0,0 @@
1
- export { BaseProxyHandler, handleIntrospectionProp, } from "./base-proxy-handler.js";
2
- export { SYMBOL_CLIENT_INDEX, getClientIndex, type ClientStack, tapClientStack, tapWithClientStack, } from "./tap-client-stack-context.js";
3
- export { type AssistantTapContextValue, withAssistantTapContextProvider, tapAssistantClientRef, tapAssistantEmit, } from "./tap-assistant-context.js";
4
- export { NotificationManager } from "./notification-manager.js";
5
- export { PROXIED_ASSISTANT_STATE_SYMBOL, createProxiedAssistantState, getProxiedAssistantState, } from "./proxied-assistant-state.js";
6
- export { type RootClients, type DerivedClients, tapSplitClients, } from "./split-clients.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,gCAA6B;AAC9B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,WAAW,EAChB,cAAc,EACd,kBAAkB,GACnB,sCAAmC;AACpC,OAAO,EACL,KAAK,wBAAwB,EAC7B,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,GACjB,mCAAgC;AACjC,OAAO,EAAE,mBAAmB,EAAE,kCAA+B;AAC7D,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,wBAAwB,GACzB,qCAAkC;AACnC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,eAAe,GAChB,2BAAwB"}
@@ -1,7 +0,0 @@
1
- export { BaseProxyHandler, handleIntrospectionProp, } from "./base-proxy-handler.js";
2
- export { SYMBOL_CLIENT_INDEX, getClientIndex, tapClientStack, tapWithClientStack, } from "./tap-client-stack-context.js";
3
- export { withAssistantTapContextProvider, tapAssistantClientRef, tapAssistantEmit, } from "./tap-assistant-context.js";
4
- export { NotificationManager } from "./notification-manager.js";
5
- export { PROXIED_ASSISTANT_STATE_SYMBOL, createProxiedAssistantState, getProxiedAssistantState, } from "./proxied-assistant-state.js";
6
- export { tapSplitClients, } from "./split-clients.js";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,gCAA6B;AAC9B,OAAO,EACL,mBAAmB,EACnB,cAAc,EAEd,cAAc,EACd,kBAAkB,GACnB,sCAAmC;AACpC,OAAO,EAEL,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,GACjB,mCAAgC;AACjC,OAAO,EAAE,mBAAmB,EAAE,kCAA+B;AAC7D,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,wBAAwB,GACzB,qCAAkC;AACnC,OAAO,EAGL,eAAe,GAChB,2BAAwB"}
@@ -1,11 +0,0 @@
1
- import type { ClientStack } from "./tap-client-stack-context.js";
2
- import type { AssistantEventName, AssistantEventPayload } from "../types/events.js";
3
- import { Unsubscribe } from "../types/client.js";
4
- export type NotificationManager = {
5
- on<TEvent extends AssistantEventName>(event: TEvent, callback: (payload: AssistantEventPayload[TEvent], clientStack: ClientStack) => void): Unsubscribe;
6
- emit<TEvent extends Exclude<AssistantEventName, "*">>(event: TEvent, payload: AssistantEventPayload[TEvent], clientStack: ClientStack): void;
7
- subscribe(callback: () => void): Unsubscribe;
8
- notifySubscribers(): void;
9
- };
10
- export declare const NotificationManager: () => import("@assistant-ui/tap").ResourceElement<NotificationManager, undefined>;
11
- //# sourceMappingURL=notification-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-manager.d.ts","sourceRoot":"","sources":["../../../src/store/utils/notification-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,sCAAmC;AAC9D,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,2BAAwB;AACzB,OAAO,EAAE,WAAW,EAAE,2BAAwB;AAK9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,CAAC,MAAM,SAAS,kBAAkB,EAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CACR,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACtC,WAAW,EAAE,WAAW,KACrB,IAAI,GACR,WAAW,CAAC;IACf,IAAI,CAAC,MAAM,SAAS,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAClD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACtC,WAAW,EAAE,WAAW,GACvB,IAAI,CAAC;IACR,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC;IAC7C,iBAAiB,IAAI,IAAI,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,mFAqF9B,CAAC"}
@@ -1,84 +0,0 @@
1
- import { resource } from "@assistant-ui/tap";
2
- import { tapConst } from "@assistant-ui/tap";
3
- export const NotificationManager = resource(() => {
4
- return tapConst(() => {
5
- const listeners = new Map();
6
- const wildcardListeners = new Set();
7
- const subscribers = new Set();
8
- return {
9
- on(event, callback) {
10
- const cb = callback;
11
- if (event === "*") {
12
- wildcardListeners.add(cb);
13
- return () => wildcardListeners.delete(cb);
14
- }
15
- let set = listeners.get(event);
16
- if (!set) {
17
- set = new Set();
18
- listeners.set(event, set);
19
- }
20
- set.add(cb);
21
- return () => {
22
- set.delete(cb);
23
- if (set.size === 0)
24
- listeners.delete(event);
25
- };
26
- },
27
- emit(event, payload, clientStack) {
28
- const eventListeners = listeners.get(event);
29
- if (!eventListeners && wildcardListeners.size === 0)
30
- return;
31
- queueMicrotask(() => {
32
- const errors = [];
33
- if (eventListeners) {
34
- for (const cb of eventListeners) {
35
- try {
36
- cb(payload, clientStack);
37
- }
38
- catch (e) {
39
- errors.push(e);
40
- }
41
- }
42
- }
43
- if (wildcardListeners.size > 0) {
44
- const wrapped = { event, payload };
45
- for (const cb of wildcardListeners) {
46
- try {
47
- cb(wrapped, clientStack);
48
- }
49
- catch (e) {
50
- errors.push(e);
51
- }
52
- }
53
- }
54
- if (errors.length > 0) {
55
- if (errors.length === 1) {
56
- throw errors[0];
57
- }
58
- else {
59
- for (const error of errors) {
60
- console.error(error);
61
- }
62
- throw new AggregateError(errors, "Errors occurred during event emission");
63
- }
64
- }
65
- });
66
- },
67
- subscribe(callback) {
68
- subscribers.add(callback);
69
- return () => subscribers.delete(callback);
70
- },
71
- notifySubscribers() {
72
- for (const cb of subscribers) {
73
- try {
74
- cb();
75
- }
76
- catch (e) {
77
- console.error("NotificationManager: subscriber callback error", e);
78
- }
79
- }
80
- },
81
- };
82
- }, []);
83
- });
84
- //# sourceMappingURL=notification-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-manager.js","sourceRoot":"","sources":["../../../src/store/utils/notification-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAqB7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,GAAwB,EAAE;IACpE,OAAO,QAAQ,CAAC,GAAG,EAAE;QACnB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAc,CAAC;QAE1C,OAAO;YACL,EAAE,CAAC,KAAK,EAAE,QAAQ;gBAChB,MAAM,EAAE,GAAG,QAA4B,CAAC;gBACxC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBAClB,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1B,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;oBAChB,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAEZ,OAAO,GAAG,EAAE;oBACV,GAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAChB,IAAI,GAAI,CAAC,IAAI,KAAK,CAAC;wBAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW;gBAC9B,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,cAAc,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO;gBAE5D,cAAc,CAAC,GAAG,EAAE;oBAClB,MAAM,MAAM,GAAG,EAAE,CAAC;oBAClB,IAAI,cAAc,EAAE,CAAC;wBACnB,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;4BAChC,IAAI,CAAC;gCACH,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;4BAC3B,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjB,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnC,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;4BACnC,IAAI,CAAC;gCACH,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;4BAC3B,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjB,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACxB,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;6BAAM,CAAC;4BACN,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gCAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACvB,CAAC;4BACD,MAAM,IAAI,cAAc,CACtB,MAAM,EACN,uCAAuC,CACxC,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,SAAS,CAAC,QAAQ;gBAChB,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAED,iBAAiB;gBACf,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBACH,EAAE,EAAE,CAAC;oBACP,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { AssistantClient, AssistantState } from "../types/client.js";
2
- export declare const PROXIED_ASSISTANT_STATE_SYMBOL: unique symbol;
3
- /**
4
- * Proxied state that lazily accesses scope states
5
- */
6
- export declare const createProxiedAssistantState: (client: AssistantClient) => AssistantState;
7
- export declare const getProxiedAssistantState: (client: AssistantClient) => AssistantState;
8
- //# sourceMappingURL=proxied-assistant-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxied-assistant-state.d.ts","sourceRoot":"","sources":["../../../src/store/utils/proxied-assistant-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,2BAAwB;AAMvE,eAAO,MAAM,8BAA8B,eAE1C,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,eAAe,KACtB,cA0BF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,eAAe,KACtB,cAIF,CAAC"}
@@ -1,33 +0,0 @@
1
- import { getClientState } from "./tap-client-resource.js";
2
- import { BaseProxyHandler, handleIntrospectionProp, } from "./base-proxy-handler.js";
3
- export const PROXIED_ASSISTANT_STATE_SYMBOL = Symbol("assistant-ui.store.proxiedAssistantState");
4
- const isIgnoredKey = (key) => {
5
- return key === "on" || key === "subscribe" || typeof key === "symbol";
6
- };
7
- /**
8
- * Proxied state that lazily accesses scope states
9
- */
10
- export const createProxiedAssistantState = (client) => {
11
- class ProxiedAssistantStateProxyHandler extends BaseProxyHandler {
12
- get(_, prop) {
13
- const introspection = handleIntrospectionProp(prop, "AssistantState");
14
- if (introspection !== false)
15
- return introspection;
16
- const scope = prop;
17
- if (isIgnoredKey(scope))
18
- return undefined;
19
- return getClientState(client[scope]());
20
- }
21
- ownKeys() {
22
- return Object.keys(client).filter((key) => !isIgnoredKey(key));
23
- }
24
- has(_, prop) {
25
- return !isIgnoredKey(prop) && prop in client;
26
- }
27
- }
28
- return new Proxy({}, new ProxiedAssistantStateProxyHandler());
29
- };
30
- export const getProxiedAssistantState = (client) => {
31
- return client[PROXIED_ASSISTANT_STATE_SYMBOL];
32
- };
33
- //# sourceMappingURL=proxied-assistant-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxied-assistant-state.js","sourceRoot":"","sources":["../../../src/store/utils/proxied-assistant-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iCAA8B;AAEvD,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,gCAA6B;AAE9B,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAClD,0CAA0C,CAC3C,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAoB,EAA6B,EAAE;IACvE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,WAAW,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC;AACxE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,MAAuB,EACP,EAAE;IAClB,MAAM,iCACJ,SAAQ,gBAAgB;QAGxB,GAAG,CAAC,CAAU,EAAE,IAAqB;YACnC,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YACtE,IAAI,aAAa,KAAK,KAAK;gBAAE,OAAO,aAAa,CAAC;YAClD,MAAM,KAAK,GAAG,IAA6B,CAAC;YAC5C,IAAI,YAAY,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,GAAG,CAAC,CAAU,EAAE,IAAqB;YACnC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC;QAC/C,CAAC;KACF;IAED,OAAO,IAAI,KAAK,CACd,EAAoB,EACpB,IAAI,iCAAiC,EAAE,CACxC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAuB,EACP,EAAE;IAClB,OACE,MACD,CAAC,8BAA8B,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- import { DerivedElement } from "./derived.js";
2
- import type { AssistantClient, ClientElement, ClientNames } from "../types/client.js";
3
- import { type ScopesConfig } from "./attach-transform-scopes.js";
4
- export type RootClients = Partial<Record<ClientNames, ClientElement<ClientNames>>>;
5
- export type DerivedClients = Partial<Record<ClientNames, DerivedElement<ClientNames>>>;
6
- export declare const tapSplitClients: (clients: ScopesConfig, baseClient: AssistantClient) => {
7
- rootClients: Partial<Record<keyof import("..").ScopeRegistry, ClientElement<keyof import("..").ScopeRegistry>>>;
8
- derivedClients: Partial<Record<keyof import("..").ScopeRegistry, DerivedElement<keyof import("..").ScopeRegistry>>>;
9
- };
10
- //# sourceMappingURL=split-clients.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"split-clients.d.ts","sourceRoot":"","sources":["../../../src/store/utils/split-clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,qBAAkB;AACpD,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,WAAW,EACZ,2BAAwB;AACzB,OAAO,EAEL,KAAK,YAAY,EAClB,qCAAkC;AAGnC,MAAM,MAAM,WAAW,GAAG,OAAO,CAC/B,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAChD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,CAClC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CACjD,CAAC;AAsDF,eAAO,MAAM,eAAe,GAC1B,SAAS,YAAY,EACrB,YAAY,eAAe;;;CAQ5B,CAAC"}
@@ -1,53 +0,0 @@
1
- import { Derived } from "./derived.js";
2
- import { getTransformScopes, } from "./attach-transform-scopes.js";
3
- import { tapMemo } from "@assistant-ui/tap";
4
- /**
5
- * Splits a clients object into root clients and derived clients,
6
- * applying transformScopes from root client elements.
7
- */
8
- function splitClients(clients, baseClient) {
9
- // 1. Collect transforms from root elements and run them iteratively
10
- let scopes = { ...clients };
11
- const visited = new Set();
12
- let changed = true;
13
- while (changed) {
14
- changed = false;
15
- for (const clientElement of Object.values(scopes)) {
16
- if (clientElement.type === Derived)
17
- continue;
18
- if (visited.has(clientElement.type))
19
- continue;
20
- visited.add(clientElement.type);
21
- const transform = getTransformScopes(clientElement.type);
22
- if (transform) {
23
- scopes = transform(scopes, baseClient);
24
- changed = true;
25
- break; // restart iteration since scopes may have new root elements
26
- }
27
- }
28
- }
29
- // 2. Split result into root/derived
30
- const rootClients = {};
31
- const derivedClients = {};
32
- for (const [key, clientElement] of Object.entries(scopes)) {
33
- if (clientElement.type === Derived) {
34
- derivedClients[key] = clientElement;
35
- }
36
- else {
37
- rootClients[key] = clientElement;
38
- }
39
- }
40
- return { rootClients, derivedClients };
41
- }
42
- const tapShallowMemoObject = (object) => {
43
- // biome-ignore lint/correctness/useExhaustiveDependencies: shallow memo
44
- return tapMemo(() => object, [...Object.entries(object).flat()]);
45
- };
46
- export const tapSplitClients = (clients, baseClient) => {
47
- const { rootClients, derivedClients } = splitClients(clients, baseClient);
48
- return {
49
- rootClients: tapShallowMemoObject(rootClients),
50
- derivedClients: tapShallowMemoObject(derivedClients),
51
- };
52
- };
53
- //# sourceMappingURL=split-clients.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"split-clients.js","sourceRoot":"","sources":["../../../src/store/utils/split-clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,qBAAkB;AAMpD,OAAO,EACL,kBAAkB,GAEnB,qCAAkC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAS5C;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAqB,EAAE,UAA2B;IACtE,oEAAoE;IACpE,IAAI,MAAM,GAAG,EAAE,GAAG,OAAO,EAGxB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEnD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,aAAa,CAAC,IAAI,KAAM,OAAmB;gBAAE,SAAS;YAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEhC,MAAM,SAAS,GAAG,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAkB,CAAC;gBACxD,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,4DAA4D;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAgB,EAAE,CAAC;IACpC,MAAM,cAAc,GAAmB,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAGrD,EAAE,CAAC;QACJ,IAAI,aAAa,CAAC,IAAI,KAAM,OAAmB,EAAE,CAAC;YAChD,cAAc,CAAC,GAAG,CAAC,GAAG,aAA4C,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,GAAG,aAA2C,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAmB,MAAS,EAAE,EAAE;IAC3D,wEAAwE;IACxE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAqB,EACrB,UAA2B,EAC3B,EAAE;IACF,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE1E,OAAO;QACL,WAAW,EAAE,oBAAoB,CAAC,WAAW,CAAC;QAC9C,cAAc,EAAE,oBAAoB,CAAC,cAAc,CAAC;KACrD,CAAC;AACJ,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { AssistantEventName, AssistantEventPayload } from "../types/events.js";
2
- import type { AssistantClient } from "../types/client.js";
3
- import { type ClientStack } from "./tap-client-stack-context.js";
4
- type EmitFn = <TEvent extends Exclude<AssistantEventName, "*">>(event: TEvent, payload: AssistantEventPayload[TEvent], clientStack: ClientStack) => void;
5
- export type AssistantTapContextValue = {
6
- clientRef: {
7
- parent: AssistantClient;
8
- current: AssistantClient | null;
9
- };
10
- emit: EmitFn;
11
- };
12
- export declare const withAssistantTapContextProvider: <TResult>(value: AssistantTapContextValue, fn: () => TResult) => TResult;
13
- export declare const tapAssistantClientRef: () => {
14
- parent: AssistantClient;
15
- current: AssistantClient | null;
16
- };
17
- export declare const tapAssistantEmit: () => <TEvent extends Exclude<AssistantEventName, "*">>(event: TEvent, payload: AssistantEventPayload[TEvent]) => void;
18
- export {};
19
- //# sourceMappingURL=tap-assistant-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tap-assistant-context.d.ts","sourceRoot":"","sources":["../../../src/store/utils/tap-assistant-context.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACtB,2BAAwB;AACzB,OAAO,KAAK,EAAE,eAAe,EAAE,2BAAwB;AACvD,OAAO,EAAkB,KAAK,WAAW,EAAE,sCAAmC;AAE9E,KAAK,MAAM,GAAG,CAAC,MAAM,SAAS,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAC5D,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACtC,WAAW,EAAE,WAAW,KACrB,IAAI,CAAC;AAEV,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC;IACxE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAKF,eAAO,MAAM,+BAA+B,GAAI,OAAO,EACrD,OAAO,wBAAwB,EAC/B,IAAI,MAAM,OAAO,YAGlB,CAAC;AASF,eAAO,MAAM,qBAAqB;YArBX,eAAe;aAAW,eAAe,GAAG,IAAI;CAuBtE,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAKxB,MAAM,SAAS,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,SACvC,MAAM,WACJ,qBAAqB,CAAC,MAAM,CAAC,SAK3C,CAAC"}
@@ -1,23 +0,0 @@
1
- import { createResourceContext, tap, withContextProvider, tapEffectEvent, } from "@assistant-ui/tap";
2
- import { tapClientStack } from "./tap-client-stack-context.js";
3
- const AssistantTapContext = createResourceContext(null);
4
- export const withAssistantTapContextProvider = (value, fn) => {
5
- return withContextProvider(AssistantTapContext, value, fn);
6
- };
7
- const tapAssistantTapContext = () => {
8
- const ctx = tap(AssistantTapContext);
9
- if (!ctx)
10
- throw new Error("AssistantTapContext is not available");
11
- return ctx;
12
- };
13
- export const tapAssistantClientRef = () => {
14
- return tapAssistantTapContext().clientRef;
15
- };
16
- export const tapAssistantEmit = () => {
17
- const { emit } = tapAssistantTapContext();
18
- const clientStack = tapClientStack();
19
- return tapEffectEvent((event, payload) => {
20
- emit(event, payload, clientStack);
21
- });
22
- };
23
- //# sourceMappingURL=tap-assistant-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tap-assistant-context.js","sourceRoot":"","sources":["../../../src/store/utils/tap-assistant-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,GAAG,EACH,mBAAmB,EACnB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,cAAc,EAAoB,sCAAmC;AAa9E,MAAM,mBAAmB,GACvB,qBAAqB,CAAkC,IAAI,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,KAA+B,EAC/B,EAAiB,EACjB,EAAE;IACF,OAAO,mBAAmB,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAElE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,sBAAsB,EAAE,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO,cAAc,CACnB,CACE,KAAa,EACb,OAAsC,EACtC,EAAE;QACF,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,28 +0,0 @@
1
- import type { ContravariantResource } from "@assistant-ui/tap";
2
- import type { ClientMethods } from "../types/client.js";
3
- type InferClientState<TMethods> = TMethods extends {
4
- getState: () => infer S;
5
- } ? S : unknown;
6
- export declare const tapClientList: <TData, TMethods extends ClientMethods>(props: tapClientList.Props<TData, TMethods>) => {
7
- state: InferClientState<TMethods>[];
8
- get: (lookup: {
9
- index: number;
10
- } | {
11
- key: string;
12
- }) => TMethods;
13
- add: (initialData: TData) => void;
14
- };
15
- export declare namespace tapClientList {
16
- type ResourceProps<TData> = {
17
- key: string;
18
- getInitialData: () => TData;
19
- remove: () => void;
20
- };
21
- type Props<TData, TMethods extends ClientMethods> = {
22
- initialValues: TData[];
23
- getKey: (data: TData) => string;
24
- resource: ContravariantResource<TMethods, ResourceProps<TData>>;
25
- };
26
- }
27
- export {};
28
- //# sourceMappingURL=tap-client-list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tap-client-list.d.ts","sourceRoot":"","sources":["../../../src/store/utils/tap-client-list.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,2BAAwB;AAErD,KAAK,gBAAgB,CAAC,QAAQ,IAAI,QAAQ,SAAS;IACjD,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;CACzB,GACG,CAAC,GACD,OAAO,CAAC;AAuBZ,eAAO,MAAM,aAAa,GAAI,KAAK,EAAE,QAAQ,SAAS,aAAa,EACjE,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAC1C;IACD,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpC,GAAG,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,QAAQ,CAAC;IAC/D,GAAG,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC;CAqEnC,CAAC;AAEF,yBAAiB,aAAa,CAAC;IAC7B,KAAY,aAAa,CAAC,KAAK,IAAI;QACjC,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,EAAE,MAAM,KAAK,CAAC;QAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;IAEF,KAAY,KAAK,CAAC,KAAK,EAAE,QAAQ,SAAS,aAAa,IAAI;QACzD,aAAa,EAAE,KAAK,EAAE,CAAC;QACvB,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;QAChC,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;KACjE,CAAC;CACH"}