@dxos/plugin-assistant 0.8.4-main.fd6878d → 0.8.4-staging.60fe92afc8

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 (977) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +439 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/AgentArticle-K7XM46OQ.mjs +160 -0
  5. package/dist/lib/neutral/AgentArticle-K7XM46OQ.mjs.map +7 -0
  6. package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs +40 -0
  7. package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs.map +7 -0
  8. package/dist/lib/neutral/AssistantPlugin.mjs +10 -0
  9. package/dist/lib/neutral/AssistantPlugin.node.mjs +72 -0
  10. package/dist/lib/neutral/AssistantPlugin.node.mjs.map +7 -0
  11. package/dist/lib/neutral/AssistantPlugin.workerd.mjs +40 -0
  12. package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +7 -0
  13. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs +40 -0
  14. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +7 -0
  15. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs +27 -0
  16. package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs.map +7 -0
  17. package/dist/lib/neutral/ChatArticle-VNVZCDUR.mjs +8 -0
  18. package/dist/lib/neutral/ChatCompanion-LBUHYWQG.mjs +128 -0
  19. package/dist/lib/neutral/ChatCompanion-LBUHYWQG.mjs.map +7 -0
  20. package/dist/lib/neutral/ChatDialog-DCA6FLOV.mjs +73 -0
  21. package/dist/lib/neutral/ChatDialog-DCA6FLOV.mjs.map +7 -0
  22. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs +28 -0
  23. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +7 -0
  24. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs +119 -0
  25. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs.map +7 -0
  26. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs +48 -0
  27. package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs.map +7 -0
  28. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs +17 -0
  29. package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs.map +7 -0
  30. package/dist/lib/neutral/TracePanel-KTZJ6JNR.mjs +167 -0
  31. package/dist/lib/neutral/TracePanel-KTZJ6JNR.mjs.map +7 -0
  32. package/dist/lib/neutral/TriggerStatus-X7Y5JFZJ.mjs +93 -0
  33. package/dist/lib/neutral/TriggerStatus-X7Y5JFZJ.mjs.map +7 -0
  34. package/dist/lib/neutral/agent-hydrator-PJBYVMBW.mjs +24 -0
  35. package/dist/lib/neutral/agent-hydrator-PJBYVMBW.mjs.map +7 -0
  36. package/dist/lib/neutral/agent-service-WCAP5MLI.mjs +32 -0
  37. package/dist/lib/neutral/agent-service-WCAP5MLI.mjs.map +7 -0
  38. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs +42 -0
  39. package/dist/lib/neutral/ai-context-7WRHWYXY.mjs.map +7 -0
  40. package/dist/lib/neutral/ai-service-AADUIKBY.mjs +40 -0
  41. package/dist/lib/neutral/ai-service-AADUIKBY.mjs.map +7 -0
  42. package/dist/lib/neutral/app-graph-builder-WUFHQH3Y.mjs +232 -0
  43. package/dist/lib/neutral/app-graph-builder-WUFHQH3Y.mjs.map +7 -0
  44. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs +115 -0
  45. package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs.map +7 -0
  46. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs +39 -0
  47. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs.map +7 -0
  48. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  49. package/dist/lib/neutral/capabilities/index.mjs +45 -0
  50. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  51. package/dist/lib/neutral/chunk-5H6UJHLF.mjs +30 -0
  52. package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +7 -0
  53. package/dist/lib/neutral/chunk-HLANPOBA.mjs +10 -0
  54. package/dist/lib/neutral/chunk-HLANPOBA.mjs.map +7 -0
  55. package/dist/lib/neutral/chunk-KLYLW4WH.mjs +9 -0
  56. package/dist/lib/neutral/chunk-KLYLW4WH.mjs.map +7 -0
  57. package/dist/lib/neutral/chunk-QAZMOFPI.mjs +130 -0
  58. package/dist/lib/neutral/chunk-QAZMOFPI.mjs.map +7 -0
  59. package/dist/lib/neutral/chunk-RKVVK3R3.mjs +110 -0
  60. package/dist/lib/neutral/chunk-RKVVK3R3.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-SMFJD7BP.mjs +8 -0
  62. package/dist/lib/neutral/chunk-SMFJD7BP.mjs.map +7 -0
  63. package/dist/lib/neutral/chunk-VTK5R4H3.mjs +9 -0
  64. package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-XYHPOGTK.mjs +43 -0
  66. package/dist/lib/neutral/chunk-XYHPOGTK.mjs.map +7 -0
  67. package/dist/lib/neutral/chunk-YXRGZYYH.mjs +392 -0
  68. package/dist/lib/neutral/chunk-YXRGZYYH.mjs.map +7 -0
  69. package/dist/lib/neutral/companion-chat-provisioner-YZZ73P6E.mjs +120 -0
  70. package/dist/lib/neutral/companion-chat-provisioner-YZZ73P6E.mjs.map +7 -0
  71. package/dist/lib/neutral/components/index.mjs +2410 -0
  72. package/dist/lib/neutral/components/index.mjs.map +7 -0
  73. package/dist/lib/neutral/containers/index.mjs +29 -0
  74. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  75. package/dist/lib/neutral/create-chat-SGGQ6HVN.mjs +54 -0
  76. package/dist/lib/neutral/create-chat-SGGQ6HVN.mjs.map +7 -0
  77. package/dist/lib/neutral/create-object-U2SOFZLR.mjs +92 -0
  78. package/dist/lib/neutral/create-object-U2SOFZLR.mjs.map +7 -0
  79. package/dist/lib/neutral/edge-model-resolver-BBVOJBGJ.mjs +55 -0
  80. package/dist/lib/neutral/edge-model-resolver-BBVOJBGJ.mjs.map +7 -0
  81. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs +58 -0
  82. package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs.map +7 -0
  83. package/dist/lib/neutral/execution-graph/index.mjs +703 -0
  84. package/dist/lib/neutral/execution-graph/index.mjs.map +7 -0
  85. package/dist/lib/neutral/fork-chat-34KEF4ZJ.mjs +95 -0
  86. package/dist/lib/neutral/fork-chat-34KEF4ZJ.mjs.map +7 -0
  87. package/dist/lib/neutral/hooks/index.mjs +992 -0
  88. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  89. package/dist/lib/neutral/index.mjs +38 -0
  90. package/dist/lib/neutral/index.mjs.map +7 -0
  91. package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs +71 -0
  92. package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs.map +7 -0
  93. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +24 -0
  94. package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +7 -0
  95. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs +110 -0
  96. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs.map +7 -0
  97. package/dist/lib/neutral/meta.json +1 -0
  98. package/dist/lib/neutral/meta.mjs +12 -0
  99. package/dist/lib/neutral/meta.mjs.map +7 -0
  100. package/dist/lib/neutral/migrations-7DEMVBOG.mjs +28 -0
  101. package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +7 -0
  102. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs +13 -0
  103. package/dist/lib/neutral/operation-handler-SF36MOB5.mjs.map +7 -0
  104. package/dist/lib/neutral/operations/index.mjs +8 -0
  105. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  106. package/dist/lib/neutral/plugin.mjs +16 -0
  107. package/dist/lib/neutral/plugin.mjs.map +7 -0
  108. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs +174 -0
  109. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs.map +7 -0
  110. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs +22 -0
  111. package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs.map +7 -0
  112. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs +102 -0
  113. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs.map +7 -0
  114. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs +48 -0
  115. package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs.map +7 -0
  116. package/dist/lib/neutral/settings-W4BLWQ53.mjs +28 -0
  117. package/dist/lib/neutral/settings-W4BLWQ53.mjs.map +7 -0
  118. package/dist/lib/neutral/state-H3G7QCU6.mjs +28 -0
  119. package/dist/lib/neutral/state-H3G7QCU6.mjs.map +7 -0
  120. package/dist/lib/neutral/testing.mjs +8 -0
  121. package/dist/lib/neutral/testing.mjs.map +7 -0
  122. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs +21 -0
  123. package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs.map +7 -0
  124. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs +14 -0
  125. package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs.map +7 -0
  126. package/dist/lib/neutral/translations.mjs +179 -0
  127. package/dist/lib/neutral/translations.mjs.map +7 -0
  128. package/dist/lib/neutral/types/index.mjs +20 -0
  129. package/dist/lib/neutral/types/index.mjs.map +7 -0
  130. package/dist/lib/neutral/update-chat-name-Y7JWIP64.mjs +61 -0
  131. package/dist/lib/neutral/update-chat-name-Y7JWIP64.mjs.map +7 -0
  132. package/dist/types/src/AssistantPlugin.d.ts +4 -1
  133. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  134. package/dist/types/src/AssistantPlugin.node.d.ts +5 -0
  135. package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
  136. package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
  137. package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
  138. package/dist/types/src/AssistantPlugin.workerd.d.ts +4 -0
  139. package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -0
  140. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  141. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  142. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts +2 -0
  143. package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts.map +1 -0
  144. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  145. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  146. package/dist/types/src/blueprints/index.d.ts +2 -0
  147. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/agent-hydrator.d.ts +5 -0
  149. package/dist/types/src/capabilities/agent-hydrator.d.ts.map +1 -0
  150. package/dist/types/src/capabilities/agent-service.d.ts +6 -0
  151. package/dist/types/src/capabilities/agent-service.d.ts.map +1 -0
  152. package/dist/types/src/capabilities/ai-context.d.ts +6 -0
  153. package/dist/types/src/capabilities/ai-context.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/ai-service.d.ts +4 -3
  155. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
  156. package/dist/types/src/capabilities/app-graph-builder.d.ts +5 -2
  157. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  158. package/dist/types/src/capabilities/automation-templates.d.ts +6 -0
  159. package/dist/types/src/capabilities/automation-templates.d.ts.map +1 -0
  160. package/dist/types/src/capabilities/blueprint-definition.d.ts +4 -2
  161. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  162. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
  163. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
  164. package/dist/types/src/capabilities/create-object.d.ts +31 -0
  165. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  166. package/dist/types/src/capabilities/edge-model-resolver.d.ts +6 -4
  167. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
  168. package/dist/types/src/capabilities/index.d.ts +62 -9
  169. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  170. package/dist/types/src/capabilities/integration-provider.d.ts +5 -0
  171. package/dist/types/src/capabilities/integration-provider.d.ts.map +1 -0
  172. package/dist/types/src/capabilities/local-model-resolver.d.ts +16 -0
  173. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
  174. package/dist/types/src/capabilities/markdown-extension.d.ts +5 -0
  175. package/dist/types/src/capabilities/markdown-extension.d.ts.map +1 -0
  176. package/dist/types/src/capabilities/migrations.d.ts +6 -0
  177. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  179. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  180. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  181. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  182. package/dist/types/src/capabilities/settings.d.ts +4 -2
  183. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  184. package/dist/types/src/capabilities/state.d.ts +21 -0
  185. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/toolkit.d.ts +4 -3
  187. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  188. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts +7 -0
  189. package/dist/types/src/components/AgentProperties/AgentProperties.d.ts.map +1 -0
  190. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts +15 -0
  191. package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
  192. package/dist/types/src/components/AgentProperties/index.d.ts +2 -0
  193. package/dist/types/src/components/AgentProperties/index.d.ts.map +1 -0
  194. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
  195. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  196. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +15 -0
  197. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
  198. package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
  199. package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
  200. package/dist/types/src/components/Chat/Chat.d.ts +52 -31
  201. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  202. package/dist/types/src/components/Chat/context.d.ts +29 -0
  203. package/dist/types/src/components/Chat/context.d.ts.map +1 -0
  204. package/dist/types/src/components/Chat/events.d.ts +13 -1
  205. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  206. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +3 -2
  207. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  208. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
  209. package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
  210. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +13 -8
  211. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  212. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +19 -0
  213. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -0
  214. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts +2 -9
  215. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  216. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +27 -0
  217. package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
  218. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -6
  219. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  220. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
  221. package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
  222. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
  223. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  224. package/dist/types/src/components/ChatPrompt/index.d.ts +3 -0
  225. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  226. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts +14 -0
  227. package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -0
  228. package/dist/types/src/components/ChatThread/ChatThread.d.ts +16 -11
  229. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  230. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +24 -215
  231. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  232. package/dist/types/src/components/ChatThread/Link.d.ts +2 -2
  233. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
  234. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +42 -0
  235. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -0
  236. package/dist/types/src/components/ChatThread/registry.d.ts +29 -0
  237. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  238. package/dist/types/src/components/ChatThread/sync.d.ts +69 -0
  239. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  240. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  241. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  242. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts +18 -0
  243. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -0
  244. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts +2 -0
  245. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +1 -0
  246. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
  247. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
  248. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
  249. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
  250. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +18 -0
  251. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -0
  252. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
  253. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
  254. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
  255. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
  256. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
  257. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
  258. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +12 -0
  259. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -0
  260. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
  261. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
  262. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
  263. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
  264. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
  265. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
  266. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts +15 -0
  267. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -0
  268. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
  269. package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
  270. package/dist/types/src/components/ChatThread/widgets/index.d.ts +10 -0
  271. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
  272. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +11 -0
  273. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
  274. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +7 -0
  275. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
  276. package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
  277. package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
  278. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts +7 -0
  279. package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts.map +1 -0
  280. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts +15 -0
  281. package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts.map +1 -0
  282. package/dist/types/src/components/RoutineProperties/index.d.ts +2 -0
  283. package/dist/types/src/components/RoutineProperties/index.d.ts.map +1 -0
  284. package/dist/types/src/components/TaskList/TaskList.d.ts +10 -0
  285. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -0
  286. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +16 -0
  287. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -0
  288. package/dist/types/src/components/TaskList/index.d.ts +2 -0
  289. package/dist/types/src/components/TaskList/index.d.ts.map +1 -0
  290. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +10 -11
  291. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  292. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +13 -7
  293. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  294. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +13 -4
  295. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  296. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +10 -2
  297. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  298. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
  299. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  300. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  301. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  302. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  303. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  304. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +12 -0
  305. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  306. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  307. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  308. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  309. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  310. package/dist/types/src/components/Toolbox/Toolbox.d.ts +15 -16
  311. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  312. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +15 -5
  313. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  314. package/dist/types/src/components/index.d.ts +7 -9
  315. package/dist/types/src/components/index.d.ts.map +1 -1
  316. package/dist/types/src/constants.d.ts +5 -0
  317. package/dist/types/src/constants.d.ts.map +1 -0
  318. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +6 -0
  319. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -0
  320. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +19 -0
  321. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -0
  322. package/dist/types/src/containers/AgentArticle/index.d.ts +2 -0
  323. package/dist/types/src/containers/AgentArticle/index.d.ts.map +1 -0
  324. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +6 -0
  325. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -0
  326. package/dist/types/src/containers/AgentProperties/index.d.ts +2 -0
  327. package/dist/types/src/containers/AgentProperties/index.d.ts.map +1 -0
  328. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  329. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  330. package/dist/types/src/containers/BlueprintArticle/index.d.ts +2 -0
  331. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  332. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +25 -0
  333. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -0
  334. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts +15 -0
  335. package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts.map +1 -0
  336. package/dist/types/src/containers/ChatArticle/index.d.ts +2 -0
  337. package/dist/types/src/containers/ChatArticle/index.d.ts.map +1 -0
  338. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +26 -0
  339. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  340. package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
  341. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  342. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  343. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  344. package/dist/types/src/containers/ChatDialog/index.d.ts +2 -0
  345. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  346. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +6 -0
  347. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -0
  348. package/dist/types/src/containers/PlanArticle/index.d.ts +2 -0
  349. package/dist/types/src/containers/PlanArticle/index.d.ts.map +1 -0
  350. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
  351. package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
  352. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +15 -0
  353. package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -0
  354. package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
  355. package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
  356. package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
  357. package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
  358. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +21 -0
  359. package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
  360. package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
  361. package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
  362. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +8 -0
  363. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  364. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +16 -0
  365. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -0
  366. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
  367. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
  368. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
  369. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
  370. package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
  371. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  372. package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
  373. package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
  374. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
  375. package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
  376. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
  377. package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
  378. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +5 -0
  379. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  380. package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
  381. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  382. package/dist/types/src/containers/index.d.ts +13 -0
  383. package/dist/types/src/containers/index.d.ts.map +1 -0
  384. package/dist/types/src/execution-graph/execution-graph.d.ts +108 -0
  385. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -0
  386. package/dist/types/src/execution-graph/execution-graph.test.d.ts +2 -0
  387. package/dist/types/src/execution-graph/execution-graph.test.d.ts.map +1 -0
  388. package/dist/types/src/execution-graph/index.d.ts +3 -0
  389. package/dist/types/src/execution-graph/index.d.ts.map +1 -0
  390. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts +2 -0
  391. package/dist/types/src/execution-graph/remote-snapshot.test.d.ts.map +1 -0
  392. package/dist/types/src/execution-graph/span-tree.d.ts +76 -0
  393. package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -0
  394. package/dist/types/src/execution-graph/span-tree.test.d.ts +2 -0
  395. package/dist/types/src/execution-graph/span-tree.test.d.ts.map +1 -0
  396. package/dist/types/src/execution-graph/sub-agent-delegation.test.d.ts +2 -0
  397. package/dist/types/src/execution-graph/sub-agent-delegation.test.d.ts.map +1 -0
  398. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts +40 -0
  399. package/dist/types/src/execution-graph/testing/collect-trace-events.d.ts.map +1 -0
  400. package/dist/types/src/execution-graph/testing/index.d.ts +2 -0
  401. package/dist/types/src/execution-graph/testing/index.d.ts.map +1 -0
  402. package/dist/types/src/extensions/index.d.ts +2 -0
  403. package/dist/types/src/extensions/index.d.ts.map +1 -0
  404. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  405. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  406. package/dist/types/src/feed-logger.d.ts +13 -0
  407. package/dist/types/src/feed-logger.d.ts.map +1 -0
  408. package/dist/types/src/functions/services.test.d.ts +2 -0
  409. package/dist/types/src/functions/services.test.d.ts.map +1 -0
  410. package/dist/types/src/hooks/index.d.ts +8 -4
  411. package/dist/types/src/hooks/index.d.ts.map +1 -1
  412. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +59 -14
  413. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  414. package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
  415. package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
  416. package/dist/types/src/hooks/useChatProcessor.d.ts +9 -12
  417. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  418. package/dist/types/src/hooks/useChatServices.d.ts +9 -8
  419. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  420. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  421. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  422. package/dist/types/src/hooks/useContextBinder.d.ts +5 -0
  423. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  424. package/dist/types/src/hooks/useContextObjects.d.ts +16 -0
  425. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  426. package/dist/types/src/hooks/useDebug.d.ts +10 -0
  427. package/dist/types/src/hooks/useDebug.d.ts.map +1 -0
  428. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  429. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  430. package/dist/types/src/{stories/hooks → hooks}/useFlush.d.ts +1 -1
  431. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  432. package/dist/types/src/hooks/usePresets.d.ts +3 -3
  433. package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
  434. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  435. package/dist/types/src/index.d.ts +2 -4
  436. package/dist/types/src/index.d.ts.map +1 -1
  437. package/dist/types/src/meta.d.ts +6 -4
  438. package/dist/types/src/meta.d.ts.map +1 -1
  439. package/dist/types/src/operations/create-chat.d.ts +5 -0
  440. package/dist/types/src/operations/create-chat.d.ts.map +1 -0
  441. package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
  442. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -0
  443. package/dist/types/src/operations/fork-chat.d.ts +5 -0
  444. package/dist/types/src/operations/fork-chat.d.ts.map +1 -0
  445. package/dist/types/src/operations/index.d.ts +3 -0
  446. package/dist/types/src/operations/index.d.ts.map +1 -0
  447. package/dist/types/src/operations/prompt.node.test.d.ts +2 -0
  448. package/dist/types/src/operations/prompt.node.test.d.ts.map +1 -0
  449. package/dist/types/src/operations/resolve-navigation-targets.d.ts +17 -0
  450. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
  451. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
  452. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
  453. package/dist/types/src/operations/set-current-chat.d.ts +5 -0
  454. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
  455. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts +5 -0
  456. package/dist/types/src/operations/toggle-trace-panel-debug.d.ts.map +1 -0
  457. package/dist/types/src/operations/update-chat-name.d.ts +5 -0
  458. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
  459. package/dist/types/src/paths.d.ts +3 -0
  460. package/dist/types/src/paths.d.ts.map +1 -0
  461. package/dist/types/src/plugin.d.ts +4 -0
  462. package/dist/types/src/plugin.d.ts.map +1 -0
  463. package/dist/types/src/processor/index.d.ts +3 -0
  464. package/dist/types/src/processor/index.d.ts.map +1 -0
  465. package/dist/types/src/{hooks → processor}/presets.d.ts +2 -2
  466. package/dist/types/src/processor/presets.d.ts.map +1 -0
  467. package/dist/types/src/processor/processor.d.ts +317 -0
  468. package/dist/types/src/processor/processor.d.ts.map +1 -0
  469. package/dist/types/src/processor/processor.node.test.d.ts +2 -0
  470. package/dist/types/src/processor/processor.node.test.d.ts.map +1 -0
  471. package/dist/types/src/templates/automation-templates.test.d.ts +2 -0
  472. package/dist/types/src/templates/automation-templates.test.d.ts.map +1 -0
  473. package/dist/types/src/templates/daily-digest.d.ts +3 -0
  474. package/dist/types/src/templates/daily-digest.d.ts.map +1 -0
  475. package/dist/types/src/templates/index.d.ts +4 -0
  476. package/dist/types/src/templates/index.d.ts.map +1 -0
  477. package/dist/types/src/templates/research-brief.d.ts +3 -0
  478. package/dist/types/src/templates/research-brief.d.ts.map +1 -0
  479. package/dist/types/src/templates/scaffold.d.ts +17 -0
  480. package/dist/types/src/templates/scaffold.d.ts.map +1 -0
  481. package/dist/types/src/testing/index.d.ts +3 -1
  482. package/dist/types/src/testing/index.d.ts.map +1 -1
  483. package/dist/types/src/testing/snapshot.d.ts +21 -0
  484. package/dist/types/src/testing/snapshot.d.ts.map +1 -0
  485. package/dist/types/src/testing/test-generator.d.ts +7 -0
  486. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  487. package/dist/types/src/testing/test-generator.test.d.ts +2 -0
  488. package/dist/types/src/testing/test-generator.test.d.ts.map +1 -0
  489. package/dist/types/src/testing/test-sequence.d.ts +10 -7
  490. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  491. package/dist/types/src/testing/test-services.d.ts +2 -2
  492. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  493. package/dist/types/src/testing/test-trace.d.ts +5 -0
  494. package/dist/types/src/testing/test-trace.d.ts.map +1 -0
  495. package/dist/types/src/testing/trace-timeline.node.test.d.ts +2 -0
  496. package/dist/types/src/testing/trace-timeline.node.test.d.ts.map +1 -0
  497. package/dist/types/src/testing.d.ts +2 -0
  498. package/dist/types/src/testing.d.ts.map +1 -0
  499. package/dist/types/src/translations.d.ts +2 -76
  500. package/dist/types/src/translations.d.ts.map +1 -1
  501. package/dist/types/src/types/Assistant.d.ts +34 -37
  502. package/dist/types/src/types/Assistant.d.ts.map +1 -1
  503. package/dist/types/src/types/AssistantCapabilities.d.ts +30 -0
  504. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -0
  505. package/dist/types/src/types/AssistantEvents.d.ts +3 -0
  506. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -0
  507. package/dist/types/src/types/AssistantOperation.d.ts +153 -0
  508. package/dist/types/src/types/AssistantOperation.d.ts.map +1 -0
  509. package/dist/types/src/types/Settings.d.ts +27 -0
  510. package/dist/types/src/types/Settings.d.ts.map +1 -0
  511. package/dist/types/src/types/index.d.ts +9 -2
  512. package/dist/types/src/types/index.d.ts.map +1 -1
  513. package/dist/types/src/types/preset.d.ts +12 -0
  514. package/dist/types/src/types/preset.d.ts.map +1 -0
  515. package/dist/types/src/types/service.d.ts +13 -213
  516. package/dist/types/src/types/service.d.ts.map +1 -1
  517. package/dist/types/src/util/suggestions.d.ts +9 -0
  518. package/dist/types/src/util/suggestions.d.ts.map +1 -0
  519. package/dist/types/src/util/suggestions.test.d.ts +2 -0
  520. package/dist/types/src/util/suggestions.test.d.ts.map +1 -0
  521. package/dist/types/tsconfig.tsbuildinfo +1 -1
  522. package/package.json +198 -119
  523. package/src/AssistantPlugin.conversations.json +1 -0
  524. package/src/AssistantPlugin.node.ts +90 -0
  525. package/src/AssistantPlugin.test.ts +213 -0
  526. package/src/AssistantPlugin.ts +158 -0
  527. package/src/AssistantPlugin.workerd.ts +41 -0
  528. package/src/blueprints/assistant/blueprint.node.test.ts +46 -0
  529. package/src/blueprints/assistant/blueprint.ts +31 -0
  530. package/src/blueprints/assistant/index.ts +5 -0
  531. package/src/{components/Timeline → blueprints}/index.ts +1 -1
  532. package/src/capabilities/agent-hydrator.ts +37 -0
  533. package/src/capabilities/agent-service.ts +38 -0
  534. package/src/capabilities/ai-context.ts +48 -0
  535. package/src/capabilities/ai-service.ts +46 -24
  536. package/src/capabilities/app-graph-builder.ts +222 -154
  537. package/src/capabilities/automation-templates.ts +16 -0
  538. package/src/capabilities/blueprint-definition.ts +58 -25
  539. package/src/capabilities/companion-chat-provisioner.ts +164 -0
  540. package/src/capabilities/create-object.ts +100 -0
  541. package/src/capabilities/edge-model-resolver.ts +66 -25
  542. package/src/capabilities/index.ts +40 -10
  543. package/src/capabilities/integration-provider.ts +86 -0
  544. package/src/capabilities/local-model-resolver.ts +48 -0
  545. package/src/capabilities/markdown-extension.ts +40 -0
  546. package/src/capabilities/migrations.ts +28 -0
  547. package/src/capabilities/operation-handler.ts +16 -0
  548. package/src/capabilities/react-surface.tsx +158 -129
  549. package/src/capabilities/settings.ts +24 -12
  550. package/src/capabilities/state.ts +35 -0
  551. package/src/capabilities/toolkit.ts +7 -100
  552. package/src/components/AgentProperties/AgentProperties.stories.tsx +74 -0
  553. package/src/components/AgentProperties/AgentProperties.tsx +103 -0
  554. package/src/components/AgentProperties/index.ts +5 -0
  555. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +35 -0
  556. package/src/components/AssistantSettings/AssistantSettings.tsx +29 -91
  557. package/src/components/AssistantSettings/index.ts +2 -2
  558. package/src/components/Chat/Chat.tsx +238 -297
  559. package/src/components/Chat/context.ts +39 -0
  560. package/src/components/Chat/events.ts +21 -1
  561. package/src/components/ChatPrompt/ChatActions.tsx +36 -32
  562. package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
  563. package/src/components/ChatPrompt/ChatOptions.stories.tsx +136 -0
  564. package/src/components/ChatPrompt/ChatOptions.tsx +405 -42
  565. package/src/components/ChatPrompt/ChatPresets.tsx +4 -7
  566. package/src/components/ChatPrompt/ChatPrompt.tsx +180 -0
  567. package/src/components/ChatPrompt/ChatReferences.tsx +38 -40
  568. package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
  569. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
  570. package/src/components/ChatPrompt/index.ts +3 -0
  571. package/src/components/ChatThread/Anchor.stories.tsx +95 -0
  572. package/src/components/ChatThread/ChatThread.stories.tsx +98 -219
  573. package/src/components/ChatThread/ChatThread.tsx +101 -36
  574. package/src/components/ChatThread/DEBUG.md +41 -0
  575. package/src/components/ChatThread/Link.tsx +10 -23
  576. package/src/components/ChatThread/MarkdownStream.stories.tsx +281 -0
  577. package/src/components/ChatThread/registry.tsx +290 -0
  578. package/src/components/ChatThread/sync.test.ts +257 -0
  579. package/src/components/ChatThread/sync.ts +150 -0
  580. package/src/components/ChatThread/testing/reasoning.md +25 -0
  581. package/src/components/ChatThread/testing/thinking.md +21 -0
  582. package/src/components/ChatThread/testing/thread-1.md +30 -0
  583. package/src/components/ChatThread/testing/thread-2.md +56 -0
  584. package/src/components/ChatThread/testing/thread-widgets.md +79 -0
  585. package/src/components/ChatThread/tool-widget-state.test.ts +34 -0
  586. package/src/components/ChatThread/tool-widget-state.ts +48 -0
  587. package/src/components/ChatThread/widgets/FallbackWidget.tsx +28 -0
  588. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +68 -0
  589. package/src/components/ChatThread/widgets/ReasoningWidget.ts +139 -0
  590. package/src/components/ChatThread/widgets/ReferenceWidget.ts +33 -0
  591. package/src/components/ChatThread/widgets/SelectWidget.ts +39 -0
  592. package/src/components/ChatThread/widgets/StatsWidget.ts +31 -0
  593. package/src/components/ChatThread/widgets/StatusWidget.ts +53 -0
  594. package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
  595. package/src/components/ChatThread/widgets/SummaryWidget.tsx +29 -0
  596. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +55 -0
  597. package/src/components/ChatThread/widgets/ToolWidget.tsx +173 -0
  598. package/src/components/ChatThread/widgets/defaults.ts +8 -0
  599. package/src/components/ChatThread/widgets/index.ts +13 -0
  600. package/src/components/ProcessTree/ProcessTree.stories.tsx +83 -0
  601. package/src/components/ProcessTree/ProcessTree.tsx +120 -0
  602. package/src/components/ProcessTree/index.ts +5 -0
  603. package/src/components/RoutineProperties/RoutineProperties.stories.tsx +59 -0
  604. package/src/components/RoutineProperties/RoutineProperties.tsx +23 -0
  605. package/src/components/RoutineProperties/index.ts +5 -0
  606. package/src/components/TaskList/TaskList.stories.tsx +44 -0
  607. package/src/components/TaskList/TaskList.tsx +45 -0
  608. package/src/components/TaskList/index.ts +5 -0
  609. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +30 -20
  610. package/src/components/TemplateEditor/TemplateEditor.tsx +60 -72
  611. package/src/components/TemplateEditor/TemplateForm.stories.tsx +25 -21
  612. package/src/components/TemplateEditor/TemplateForm.tsx +113 -87
  613. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  614. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  615. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  616. package/src/components/ToolBlock/ToolBlock.tsx +152 -0
  617. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  618. package/src/components/ToolBlock/index.ts +6 -0
  619. package/src/components/Toolbox/Toolbox.stories.tsx +22 -27
  620. package/src/components/Toolbox/Toolbox.tsx +82 -82
  621. package/src/components/index.ts +9 -8
  622. package/src/constants.ts +9 -0
  623. package/src/containers/AgentArticle/AgentArticle.stories.tsx +124 -0
  624. package/src/containers/AgentArticle/AgentArticle.tsx +192 -0
  625. package/src/containers/AgentArticle/index.ts +5 -0
  626. package/src/containers/AgentProperties/AgentProperties.tsx +43 -0
  627. package/src/containers/AgentProperties/index.ts +5 -0
  628. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  629. package/src/containers/BlueprintArticle/index.ts +5 -0
  630. package/src/containers/ChatArticle/ChatArticle.stories.tsx +78 -0
  631. package/src/containers/ChatArticle/ChatArticle.tsx +112 -0
  632. package/src/containers/ChatArticle/index.ts +5 -0
  633. package/src/containers/ChatCompanion/ChatCompanion.tsx +127 -0
  634. package/src/containers/ChatCompanion/index.ts +5 -0
  635. package/src/containers/ChatDialog/ChatDialog.tsx +67 -0
  636. package/src/containers/ChatDialog/index.ts +5 -0
  637. package/src/containers/PlanArticle/PlanArticle.tsx +33 -0
  638. package/src/containers/PlanArticle/index.ts +5 -0
  639. package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +75 -0
  640. package/src/containers/RoutineArticle/RoutineArticle.tsx +109 -0
  641. package/src/containers/RoutineArticle/index.ts +5 -0
  642. package/src/containers/RoutineList/RoutineList.stories.tsx +130 -0
  643. package/src/containers/RoutineList/RoutineList.tsx +50 -0
  644. package/src/containers/RoutineList/index.ts +5 -0
  645. package/src/containers/TracePanel/TracePanel.stories.tsx +347 -0
  646. package/src/containers/TracePanel/TracePanel.tsx +257 -0
  647. package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
  648. package/src/containers/TracePanel/dxn-extractor.ts +166 -0
  649. package/src/containers/TracePanel/index.ts +9 -0
  650. package/src/containers/TracePanel/testing/index.ts +6 -0
  651. package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
  652. package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
  653. package/src/containers/TriggerStatus/TriggerStatus.tsx +130 -0
  654. package/src/containers/TriggerStatus/index.ts +5 -0
  655. package/src/containers/index.ts +17 -0
  656. package/src/execution-graph/SPEC.md +690 -0
  657. package/src/execution-graph/execution-graph.test.ts +891 -0
  658. package/src/execution-graph/execution-graph.ts +777 -0
  659. package/src/execution-graph/index.ts +24 -0
  660. package/src/execution-graph/remote-snapshot.test.ts +116 -0
  661. package/src/execution-graph/span-tree.test.ts +249 -0
  662. package/src/execution-graph/span-tree.ts +269 -0
  663. package/src/execution-graph/sub-agent-delegation.test.ts +50 -0
  664. package/src/execution-graph/testing/collect-trace-events.ts +74 -0
  665. package/src/execution-graph/testing/index.ts +5 -0
  666. package/src/execution-graph/testing/sub-agent-delegation.json +1285 -0
  667. package/src/extensions/index.ts +5 -0
  668. package/src/extensions/prompt-extension.ts +111 -0
  669. package/src/feed-logger.ts +149 -0
  670. package/src/functions/services.test.ts +53 -0
  671. package/src/hooks/index.ts +10 -5
  672. package/src/hooks/useBlueprintRegistry.ts +90 -44
  673. package/src/hooks/useChatKeymap.ts +52 -0
  674. package/src/hooks/useChatProcessor.ts +65 -40
  675. package/src/hooks/useChatServices.ts +16 -60
  676. package/src/hooks/useChatToolbarActions.ts +124 -0
  677. package/src/hooks/useContextBinder.ts +43 -0
  678. package/src/hooks/useContextObjects.ts +51 -0
  679. package/src/hooks/useDebug.ts +38 -0
  680. package/src/hooks/useFilteredTypes.ts +39 -0
  681. package/src/hooks/usePresets.ts +7 -5
  682. package/src/hooks/useReferencesProvider.ts +11 -22
  683. package/src/index.ts +2 -5
  684. package/src/meta.ts +35 -10
  685. package/src/operations/create-chat.ts +57 -0
  686. package/src/operations/ensure-companion-chat.ts +63 -0
  687. package/src/operations/fork-chat.ts +112 -0
  688. package/src/operations/index.ts +16 -0
  689. package/src/operations/prompt.node.test.ts +82 -0
  690. package/src/operations/resolve-navigation-targets.ts +31 -0
  691. package/src/operations/run-prompt-in-new-chat.ts +113 -0
  692. package/src/operations/set-current-chat.ts +49 -0
  693. package/src/operations/toggle-trace-panel-debug.ts +27 -0
  694. package/src/operations/update-chat-name.ts +65 -0
  695. package/src/paths.ts +10 -0
  696. package/src/plugin.ts +11 -0
  697. package/src/processor/index.ts +6 -0
  698. package/src/processor/presets.ts +72 -0
  699. package/src/processor/processor.node.test.ts +40 -0
  700. package/src/processor/processor.ts +423 -0
  701. package/src/templates/automation-templates.test.ts +66 -0
  702. package/src/templates/daily-digest.ts +37 -0
  703. package/src/templates/index.ts +11 -0
  704. package/src/templates/research-brief.ts +40 -0
  705. package/src/templates/scaffold.ts +74 -0
  706. package/src/testing/data/trace-timeline-multiple.dx.json +1 -0
  707. package/src/testing/data/trace-timeline-remote.dx.json +1 -0
  708. package/src/testing/data/trace-timeline.dx.json +4657 -0
  709. package/src/testing/index.ts +3 -1
  710. package/src/testing/snapshot.ts +35 -0
  711. package/src/testing/test-generator.test.ts +71 -0
  712. package/src/testing/test-generator.ts +284 -0
  713. package/src/testing/test-sequence.ts +7 -32
  714. package/src/testing/test-services.ts +10 -14
  715. package/src/testing/test-trace.ts +20 -0
  716. package/src/testing/trace-timeline.node.conversations.json +1 -0
  717. package/src/testing/trace-timeline.node.test.ts +241 -0
  718. package/src/testing.ts +9 -0
  719. package/src/translations.ts +167 -70
  720. package/src/types/Assistant.ts +17 -50
  721. package/src/types/AssistantCapabilities.ts +35 -0
  722. package/src/types/AssistantEvents.ts +11 -0
  723. package/src/types/AssistantOperation.ts +164 -0
  724. package/src/types/Settings.ts +82 -0
  725. package/src/types/index.ts +15 -2
  726. package/src/types/preset.ts +16 -0
  727. package/src/types/service.ts +22 -16
  728. package/src/util/suggestions.test.ts +52 -0
  729. package/src/util/suggestions.ts +42 -0
  730. package/src/vite-env.d.ts +35 -0
  731. package/dist/lib/browser/BlueprintContainer-H7H4BQ2C.mjs +0 -29
  732. package/dist/lib/browser/BlueprintContainer-H7H4BQ2C.mjs.map +0 -7
  733. package/dist/lib/browser/ChatContainer-OUVSX5V5.mjs +0 -76
  734. package/dist/lib/browser/ChatContainer-OUVSX5V5.mjs.map +0 -7
  735. package/dist/lib/browser/ChatDialog-P4FLEOHG.mjs +0 -86
  736. package/dist/lib/browser/ChatDialog-P4FLEOHG.mjs.map +0 -7
  737. package/dist/lib/browser/SequenceContainer-627OQ557.mjs +0 -163
  738. package/dist/lib/browser/SequenceContainer-627OQ557.mjs.map +0 -7
  739. package/dist/lib/browser/ai-service-7KJ5LXBT.mjs +0 -22
  740. package/dist/lib/browser/ai-service-7KJ5LXBT.mjs.map +0 -7
  741. package/dist/lib/browser/app-graph-builder-AVHHQ3KV.mjs +0 -166
  742. package/dist/lib/browser/app-graph-builder-AVHHQ3KV.mjs.map +0 -7
  743. package/dist/lib/browser/blueprint-definition-CMGIZAOW.mjs +0 -146
  744. package/dist/lib/browser/blueprint-definition-CMGIZAOW.mjs.map +0 -7
  745. package/dist/lib/browser/chunk-BRLHDHOF.mjs +0 -244
  746. package/dist/lib/browser/chunk-BRLHDHOF.mjs.map +0 -7
  747. package/dist/lib/browser/chunk-HRLMD35M.mjs +0 -191
  748. package/dist/lib/browser/chunk-HRLMD35M.mjs.map +0 -7
  749. package/dist/lib/browser/chunk-LKP65RPA.mjs +0 -20
  750. package/dist/lib/browser/chunk-LKP65RPA.mjs.map +0 -7
  751. package/dist/lib/browser/chunk-NZDCKQ6W.mjs +0 -89
  752. package/dist/lib/browser/chunk-NZDCKQ6W.mjs.map +0 -7
  753. package/dist/lib/browser/chunk-QB7OVS6Z.mjs +0 -16
  754. package/dist/lib/browser/chunk-QB7OVS6Z.mjs.map +0 -7
  755. package/dist/lib/browser/chunk-VEBVAHNM.mjs +0 -2231
  756. package/dist/lib/browser/chunk-VEBVAHNM.mjs.map +0 -7
  757. package/dist/lib/browser/edge-model-resolver-2HB4PCWH.mjs +0 -24
  758. package/dist/lib/browser/edge-model-resolver-2HB4PCWH.mjs.map +0 -7
  759. package/dist/lib/browser/index.mjs +0 -293
  760. package/dist/lib/browser/index.mjs.map +0 -7
  761. package/dist/lib/browser/intent-resolver-MVOIEJXZ.mjs +0 -81
  762. package/dist/lib/browser/intent-resolver-MVOIEJXZ.mjs.map +0 -7
  763. package/dist/lib/browser/meta.json +0 -1
  764. package/dist/lib/browser/react-surface-4HXS3YLT.mjs +0 -163
  765. package/dist/lib/browser/react-surface-4HXS3YLT.mjs.map +0 -7
  766. package/dist/lib/browser/settings-G2EZXMWT.mjs +0 -23
  767. package/dist/lib/browser/settings-G2EZXMWT.mjs.map +0 -7
  768. package/dist/lib/browser/toolkit-IW4FBLLB.mjs +0 -105
  769. package/dist/lib/browser/toolkit-IW4FBLLB.mjs.map +0 -7
  770. package/dist/lib/browser/types/index.mjs +0 -19
  771. package/dist/lib/node-esm/BlueprintContainer-VH4EE4CM.mjs +0 -30
  772. package/dist/lib/node-esm/BlueprintContainer-VH4EE4CM.mjs.map +0 -7
  773. package/dist/lib/node-esm/ChatContainer-D5FABDNE.mjs +0 -77
  774. package/dist/lib/node-esm/ChatContainer-D5FABDNE.mjs.map +0 -7
  775. package/dist/lib/node-esm/ChatDialog-NKWVXHJP.mjs +0 -87
  776. package/dist/lib/node-esm/ChatDialog-NKWVXHJP.mjs.map +0 -7
  777. package/dist/lib/node-esm/SequenceContainer-EQ5NP2PG.mjs +0 -164
  778. package/dist/lib/node-esm/SequenceContainer-EQ5NP2PG.mjs.map +0 -7
  779. package/dist/lib/node-esm/ai-service-LDD32477.mjs +0 -23
  780. package/dist/lib/node-esm/ai-service-LDD32477.mjs.map +0 -7
  781. package/dist/lib/node-esm/app-graph-builder-RMOUJMMG.mjs +0 -167
  782. package/dist/lib/node-esm/app-graph-builder-RMOUJMMG.mjs.map +0 -7
  783. package/dist/lib/node-esm/blueprint-definition-AEWYMW6I.mjs +0 -147
  784. package/dist/lib/node-esm/blueprint-definition-AEWYMW6I.mjs.map +0 -7
  785. package/dist/lib/node-esm/chunk-3SOC5GOP.mjs +0 -2232
  786. package/dist/lib/node-esm/chunk-3SOC5GOP.mjs.map +0 -7
  787. package/dist/lib/node-esm/chunk-F7RXCX5Y.mjs +0 -192
  788. package/dist/lib/node-esm/chunk-F7RXCX5Y.mjs.map +0 -7
  789. package/dist/lib/node-esm/chunk-GAWXJ7K5.mjs +0 -90
  790. package/dist/lib/node-esm/chunk-GAWXJ7K5.mjs.map +0 -7
  791. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  792. package/dist/lib/node-esm/chunk-KOC6ESG7.mjs +0 -22
  793. package/dist/lib/node-esm/chunk-KOC6ESG7.mjs.map +0 -7
  794. package/dist/lib/node-esm/chunk-RD755HN3.mjs +0 -245
  795. package/dist/lib/node-esm/chunk-RD755HN3.mjs.map +0 -7
  796. package/dist/lib/node-esm/chunk-X6AANUHZ.mjs +0 -17
  797. package/dist/lib/node-esm/chunk-X6AANUHZ.mjs.map +0 -7
  798. package/dist/lib/node-esm/edge-model-resolver-UDDR2IA6.mjs +0 -25
  799. package/dist/lib/node-esm/edge-model-resolver-UDDR2IA6.mjs.map +0 -7
  800. package/dist/lib/node-esm/index.mjs +0 -294
  801. package/dist/lib/node-esm/index.mjs.map +0 -7
  802. package/dist/lib/node-esm/intent-resolver-DTDNCX3C.mjs +0 -82
  803. package/dist/lib/node-esm/intent-resolver-DTDNCX3C.mjs.map +0 -7
  804. package/dist/lib/node-esm/meta.json +0 -1
  805. package/dist/lib/node-esm/react-surface-V6JNEZVO.mjs +0 -164
  806. package/dist/lib/node-esm/react-surface-V6JNEZVO.mjs.map +0 -7
  807. package/dist/lib/node-esm/settings-AIP5FOJG.mjs +0 -24
  808. package/dist/lib/node-esm/settings-AIP5FOJG.mjs.map +0 -7
  809. package/dist/lib/node-esm/toolkit-2VNUL77B.mjs +0 -106
  810. package/dist/lib/node-esm/toolkit-2VNUL77B.mjs.map +0 -7
  811. package/dist/lib/node-esm/types/index.mjs +0 -20
  812. package/dist/types/src/capabilities/capabilities.d.ts +0 -11
  813. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  814. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  815. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  816. package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
  817. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  818. package/dist/types/src/components/ChatContainer.d.ts +0 -12
  819. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  820. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  821. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -18
  822. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
  823. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
  824. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
  825. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  826. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  827. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  828. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  829. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  830. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  831. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  832. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  833. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
  834. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  835. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  836. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  837. package/dist/types/src/components/Timeline/Timeline.d.ts +0 -24
  838. package/dist/types/src/components/Timeline/Timeline.d.ts.map +0 -1
  839. package/dist/types/src/components/Timeline/Timeline.stories.d.ts +0 -9
  840. package/dist/types/src/components/Timeline/Timeline.stories.d.ts.map +0 -1
  841. package/dist/types/src/components/Timeline/index.d.ts +0 -2
  842. package/dist/types/src/components/Timeline/index.d.ts.map +0 -1
  843. package/dist/types/src/events.d.ts +0 -4
  844. package/dist/types/src/events.d.ts.map +0 -1
  845. package/dist/types/src/functions/analysis.d.ts +0 -5
  846. package/dist/types/src/functions/analysis.d.ts.map +0 -1
  847. package/dist/types/src/functions/index.d.ts +0 -4
  848. package/dist/types/src/functions/index.d.ts.map +0 -1
  849. package/dist/types/src/functions/list.d.ts +0 -10
  850. package/dist/types/src/functions/list.d.ts.map +0 -1
  851. package/dist/types/src/functions/load.d.ts +0 -8
  852. package/dist/types/src/functions/load.d.ts.map +0 -1
  853. package/dist/types/src/hooks/chat-processor.d.ts +0 -72
  854. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  855. package/dist/types/src/hooks/errors.d.ts +0 -4
  856. package/dist/types/src/hooks/errors.d.ts.map +0 -1
  857. package/dist/types/src/hooks/presets.d.ts.map +0 -1
  858. package/dist/types/src/hooks/useResolveRef.d.ts +0 -4
  859. package/dist/types/src/hooks/useResolveRef.d.ts.map +0 -1
  860. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  861. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  862. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  863. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  864. package/dist/types/src/parser/index.d.ts +0 -4
  865. package/dist/types/src/parser/index.d.ts.map +0 -1
  866. package/dist/types/src/parser/query-parser.d.ts +0 -15
  867. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  868. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  869. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  870. package/dist/types/src/parser/types.d.ts +0 -24
  871. package/dist/types/src/parser/types.d.ts.map +0 -1
  872. package/dist/types/src/queue-logger.d.ts +0 -11
  873. package/dist/types/src/queue-logger.d.ts.map +0 -1
  874. package/dist/types/src/stories/Chat.stories.d.ts +0 -268
  875. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  876. package/dist/types/src/stories/components/BlueprintContainer.d.ts +0 -5
  877. package/dist/types/src/stories/components/BlueprintContainer.d.ts.map +0 -1
  878. package/dist/types/src/stories/components/ChatContainer.d.ts +0 -5
  879. package/dist/types/src/stories/components/ChatContainer.d.ts.map +0 -1
  880. package/dist/types/src/stories/components/GraphContainer.d.ts +0 -6
  881. package/dist/types/src/stories/components/GraphContainer.d.ts.map +0 -1
  882. package/dist/types/src/stories/components/LoggingContainer.d.ts +0 -5
  883. package/dist/types/src/stories/components/LoggingContainer.d.ts.map +0 -1
  884. package/dist/types/src/stories/components/SurfaceContainer.d.ts +0 -8
  885. package/dist/types/src/stories/components/SurfaceContainer.d.ts.map +0 -1
  886. package/dist/types/src/stories/components/TasksContainer.d.ts +0 -5
  887. package/dist/types/src/stories/components/TasksContainer.d.ts.map +0 -1
  888. package/dist/types/src/stories/components/index.d.ts +0 -8
  889. package/dist/types/src/stories/components/index.d.ts.map +0 -1
  890. package/dist/types/src/stories/components/types.d.ts +0 -7
  891. package/dist/types/src/stories/components/types.d.ts.map +0 -1
  892. package/dist/types/src/stories/hooks/index.d.ts +0 -3
  893. package/dist/types/src/stories/hooks/index.d.ts.map +0 -1
  894. package/dist/types/src/stories/hooks/useFlush.d.ts.map +0 -1
  895. package/dist/types/src/stories/hooks/useMatcherExtension.d.ts +0 -3
  896. package/dist/types/src/stories/hooks/useMatcherExtension.d.ts.map +0 -1
  897. package/dist/types/src/stories/testing/data.d.ts +0 -142
  898. package/dist/types/src/stories/testing/data.d.ts.map +0 -1
  899. package/dist/types/src/stories/testing/index.d.ts +0 -3
  900. package/dist/types/src/stories/testing/index.d.ts.map +0 -1
  901. package/dist/types/src/stories/testing/testing.d.ts +0 -26
  902. package/dist/types/src/stories/testing/testing.d.ts.map +0 -1
  903. package/dist/types/src/testing/test-functions.d.ts +0 -6
  904. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  905. package/dist/types/src/tools/function.d.ts +0 -5
  906. package/dist/types/src/tools/function.d.ts.map +0 -1
  907. package/dist/types/src/tools/index.d.ts +0 -3
  908. package/dist/types/src/tools/index.d.ts.map +0 -1
  909. package/dist/types/src/tools/openapi.d.ts +0 -10
  910. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  911. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  912. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  913. package/dist/types/src/types/AssistantAction.d.ts +0 -90
  914. package/dist/types/src/types/AssistantAction.d.ts.map +0 -1
  915. package/dist/types/src/types/defs.d.ts +0 -2
  916. package/dist/types/src/types/defs.d.ts.map +0 -1
  917. package/src/AssistantPlugin.tsx +0 -145
  918. package/src/capabilities/capabilities.ts +0 -22
  919. package/src/capabilities/intent-resolver.ts +0 -73
  920. package/src/components/BlueprintContainer.tsx +0 -24
  921. package/src/components/ChatContainer.tsx +0 -69
  922. package/src/components/ChatDialog.tsx +0 -68
  923. package/src/components/ChatThread/ChatMessage.tsx +0 -282
  924. package/src/components/ChatThread/ToolBlock.tsx +0 -125
  925. package/src/components/ChatThread/reducer.ts +0 -52
  926. package/src/components/PromptSettings.tsx +0 -89
  927. package/src/components/SequenceContainer.tsx +0 -133
  928. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -33
  929. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  930. package/src/components/SequenceEditor/index.ts +0 -5
  931. package/src/components/Timeline/Timeline.stories.tsx +0 -53
  932. package/src/components/Timeline/Timeline.tsx +0 -159
  933. package/src/events.ts +0 -11
  934. package/src/functions/analysis.ts +0 -20
  935. package/src/functions/index.ts +0 -7
  936. package/src/functions/list.ts +0 -42
  937. package/src/functions/load.ts +0 -43
  938. package/src/hooks/chat-processor.ts +0 -260
  939. package/src/hooks/errors.ts +0 -8
  940. package/src/hooks/presets.ts +0 -53
  941. package/src/hooks/useResolveRef.ts +0 -33
  942. package/src/parser/filter-generator.test.ts +0 -32
  943. package/src/parser/filter-generator.ts +0 -74
  944. package/src/parser/index.ts +0 -7
  945. package/src/parser/query-parser.test.ts +0 -139
  946. package/src/parser/query-parser.ts +0 -199
  947. package/src/parser/types.ts +0 -34
  948. package/src/queue-logger.ts +0 -125
  949. package/src/shims.d.ts +0 -8
  950. package/src/stories/Chat.stories.tsx +0 -317
  951. package/src/stories/components/BlueprintContainer.tsx +0 -34
  952. package/src/stories/components/ChatContainer.tsx +0 -80
  953. package/src/stories/components/GraphContainer.tsx +0 -118
  954. package/src/stories/components/LoggingContainer.tsx +0 -22
  955. package/src/stories/components/SurfaceContainer.tsx +0 -62
  956. package/src/stories/components/TasksContainer.tsx +0 -51
  957. package/src/stories/components/index.ts +0 -12
  958. package/src/stories/components/types.ts +0 -11
  959. package/src/stories/hooks/index.ts +0 -6
  960. package/src/stories/hooks/useMatcherExtension.ts +0 -45
  961. package/src/stories/testing/data.ts +0 -130
  962. package/src/stories/testing/index.ts +0 -6
  963. package/src/stories/testing/testing.tsx +0 -162
  964. package/src/testing/test-functions.ts +0 -16
  965. package/src/tools/function.ts +0 -49
  966. package/src/tools/index.ts +0 -6
  967. package/src/tools/openapi.test.ts +0 -219
  968. package/src/tools/openapi.ts +0 -341
  969. package/src/types/AssistantAction.ts +0 -54
  970. package/src/types/defs.ts +0 -5
  971. package/src/typings.d.ts +0 -9
  972. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/AssistantPlugin.mjs.map} +0 -0
  973. /package/dist/lib/{browser/types/index.mjs.map → neutral/ChatArticle-VNVZCDUR.mjs.map} +0 -0
  974. /package/dist/lib/{node-esm/types → neutral/blueprints}/index.mjs.map +0 -0
  975. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  976. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  977. /package/src/{stories/hooks → hooks}/useFlush.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/hooks/useBlueprintRegistry.ts", "../../../../src/hooks/useChatKeymap.ts", "../../../../src/hooks/useChatProcessor.ts", "../../../../src/processor/presets.ts", "../../../../src/processor/processor.ts", "../../../../src/hooks/useChatServices.ts", "../../../../src/hooks/useChatToolbarActions.ts", "../../../../src/hooks/useContextBinder.ts", "../../../../src/hooks/useContextObjects.ts", "../../../../src/hooks/useDebug.ts", "../../../../src/hooks/useFilteredTypes.ts", "../../../../src/hooks/useFlush.ts", "../../../../src/hooks/useOnline.ts", "../../../../src/hooks/usePresets.ts", "../../../../src/hooks/useReferencesProvider.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { type AiContext } from '@dxos/assistant';\nimport { Blueprint } from '@dxos/compute';\nimport { type Database, Filter, Obj, Ref, type Registry } from '@dxos/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { distinctBy } from '@dxos/util';\n\nexport const useBlueprints = ({ registry, db }: { registry?: Registry.Registry; db?: Database.Database }) => {\n const [registryBlueprints, setRegistryBlueprints] = useState<Blueprint.Blueprint[]>(\n () => registry?.query(Filter.type(Blueprint.Blueprint)).runSync() ?? [],\n );\n\n useEffect(() => {\n if (!registry) {\n setRegistryBlueprints([]);\n return;\n }\n setRegistryBlueprints(registry.query(Filter.type(Blueprint.Blueprint)).runSync());\n return registry.changed.on(() => {\n setRegistryBlueprints(registry.query(Filter.type(Blueprint.Blueprint)).runSync());\n });\n }, [registry]);\n\n const spaceBlueprints = useQuery(db, Filter.type(Blueprint.Blueprint));\n return useMemo(() => {\n const blueprints = distinctBy([...registryBlueprints, ...spaceBlueprints], (b) => Obj.getMeta(b).key);\n blueprints.sort(({ name: a }, { name: b }) => a.localeCompare(b));\n return blueprints;\n }, [registryBlueprints, spaceBlueprints]);\n};\n\n/**\n * Create reactive map of active blueprints (by key).\n */\nexport const useActiveBlueprints = ({ context }: { context?: AiContext.Binder }) => {\n const [active, setActive] = useState<Map<string, Blueprint.Blueprint>>(new Map());\n\n useEffect(() => {\n if (!context) {\n setActive(new Map());\n return;\n }\n\n const updateActive = () => {\n const blueprints = context.getBlueprints();\n setActive(\n new Map(\n blueprints\n .map((blueprint) => [Obj.getMeta(blueprint).key, blueprint] as const)\n .filter((entry): entry is readonly [string, Blueprint.Blueprint] => entry[0] !== undefined),\n ),\n );\n };\n\n // Set initial value.\n updateActive();\n\n // Subscribe to changes.\n return context.subscribeBlueprints(updateActive);\n }, [context]);\n\n return active;\n};\n\n// TODO(burdon): Move logic into binder.\nexport const useBlueprintHandlers = ({\n db,\n context,\n registry,\n}: {\n db: Database.Database;\n context?: AiContext.Binder;\n registry?: Registry.Registry;\n}) => {\n const onUpdateBlueprint = useCallback(\n async (key: string, checked: boolean) => {\n if (!context) {\n return;\n }\n\n if (checked) {\n // Check if the blueprint is in the registry — if so, bind via its key URI directly\n // (no DB clone needed). Fall back to an existing DB copy for user-forked blueprints.\n const registryBlueprint = registry\n ?.query(Filter.type(Blueprint.Blueprint))\n .runSync()\n .find((b) => Obj.getMeta(b).key === key);\n\n if (registryBlueprint) {\n await context.bind({ blueprints: [Ref.fromURI(Blueprint.registryURI(key))] });\n } else {\n // User-forked blueprint (in DB but not in registry): bind via DB ref.\n const objects = await db.query(Filter.type(Blueprint.Blueprint)).run();\n const storedBlueprint = objects.find((blueprint) => Obj.getMeta(blueprint).key === key);\n if (storedBlueprint) {\n await context.bind({ blueprints: [Ref.make(storedBlueprint)] });\n }\n }\n } else {\n // Unbind: try registry ref first, then DB ref.\n const registryBlueprint = registry\n ?.query(Filter.type(Blueprint.Blueprint))\n .runSync()\n .find((b) => Obj.getMeta(b).key === key);\n if (registryBlueprint) {\n await context.unbind({ blueprints: [Ref.fromURI(Blueprint.registryURI(key))] });\n } else {\n const objects = await db.query(Filter.type(Blueprint.Blueprint)).run();\n const storedBlueprint = objects.find((blueprint) => Obj.getMeta(blueprint).key === key);\n if (storedBlueprint) {\n await context.unbind({ blueprints: [Ref.make(storedBlueprint)] });\n }\n }\n }\n },\n [db, context, registry],\n );\n\n return { onUpdateBlueprint };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Extension, Prec } from '@codemirror/state';\nimport { keymap } from '@codemirror/view';\nimport { useMemo } from 'react';\n\nimport { type Event } from '@dxos/async';\nimport { isTruthy } from '@dxos/util';\n\nimport { type ChatEvent } from '../components/Chat/events';\n\n/**\n * CodeMirror keymap shared by the chat document (Thread) and the prompt editor — pressing\n * Mod-Arrow keys when either editor is focused emits the corresponding `ChatEvent` on the\n * shared event bus.\n */\nexport const useChatKeymapExtensions = ({ event }: { event: Event<ChatEvent> }): Extension[] => {\n return useMemo<Extension[]>(() => {\n return [\n Prec.highest(\n keymap.of([\n {\n key: 'Mod-ArrowUp',\n preventDefault: true,\n run: () => {\n event.emit({ type: 'nav-previous' });\n return true;\n },\n shift: () => {\n event.emit({ type: 'thread-open' });\n return true;\n },\n },\n {\n key: 'Mod-ArrowDown',\n preventDefault: true,\n run: () => {\n event.emit({ type: 'nav-next' });\n return true;\n },\n shift: () => {\n event.emit({ type: 'thread-close' });\n return true;\n },\n },\n ]),\n ),\n ].filter(isTruthy);\n }, [event]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { RegistryContext } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport { useContext, useMemo, useState } from 'react';\n\nimport { AiService, OpaqueToolkit } from '@dxos/ai';\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { AiSession } from '@dxos/assistant';\nimport { type Chat } from '@dxos/assistant-toolkit';\nimport { Credential, ServiceResolver } from '@dxos/compute';\nimport { Database, Feed, Ref, Registry } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-client';\nimport { EffectEx } from '@dxos/effect';\nimport { AgentService } from '@dxos/functions-runtime';\nimport { log } from '@dxos/log';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nimport { type Assistant } from '#types';\n\nimport { AiChatProcessor, type AiServicePreset } from '../processor';\n\nexport type UseChatProcessorProps = {\n space?: Space;\n chat?: Chat.Chat;\n preset?: AiServicePreset;\n runtime?: Capabilities.ProcessManagerRuntime;\n registry?: Registry.Registry;\n settings?: Assistant.Settings;\n};\n\n/**\n * Configure and create AiChatProcessor.\n */\nexport const useChatProcessor = ({\n space,\n chat,\n preset,\n runtime,\n registry,\n settings,\n}: UseChatProcessorProps): AiChatProcessor | undefined => {\n const observableRegistry = useContext(RegistryContext);\n\n const [session, setSession] = useState<AiSession.Session>();\n useAsyncEffect(async () => {\n if (!space || !chat) {\n return;\n }\n\n const feedTarget = chat.feed.target;\n if (!feedTarget) {\n return;\n }\n const feedServiceLayer = createFeedServiceLayer(space.queues);\n const runtime = await EffectEx.runAndForwardErrors(\n Effect.runtime<Feed.FeedService>().pipe(Effect.provide(feedServiceLayer)),\n );\n const session = new AiSession.Session({\n feed: feedTarget,\n runtime,\n registry: observableRegistry,\n });\n await session.open();\n setSession(session);\n return () => {\n void session.close();\n setSession(undefined);\n };\n }, [space, chat?.feed.target]);\n\n const feed = chat?.feed.target;\n const serviceResolver = useCapability(Capabilities.ServiceResolver);\n\n const processor = useMemo(() => {\n if (!runtime || !session || !chat || !feed || !space) {\n return undefined;\n }\n\n const spaceLayer = ServiceResolver.provide(\n { space: space.id },\n Database.Service,\n Feed.FeedService,\n Credential.CredentialsService,\n AiService.AiService,\n AgentService.AgentService,\n Registry.Service,\n OpaqueToolkit.OpaqueToolkitProvider,\n ).pipe(Layer.provide(Layer.succeed(ServiceResolver.ServiceResolver, serviceResolver)));\n\n log('creating processor', { preset, model: preset?.model, settings });\n return new AiChatProcessor(session, runtime, feed, spaceLayer, {\n chat: chat ? Ref.make(chat) : undefined,\n observableRegistry,\n registry,\n model: preset?.model,\n });\n }, [runtime, session, registry, preset, chat, feed, space?.id]);\n\n return processor;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type ModelName } from '@dxos/ai';\n\nconst ModelProviders = ['dxos-local', 'dxos-remote', 'lm-studio', 'ollama'] as const;\n\nconst ModelProvider = Schema.Literal(...ModelProviders);\ntype ModelProvider = Schema.Schema.Type<typeof ModelProvider>;\n\nexport type AiServicePreset = {\n id: string;\n provider: ModelProvider;\n model: ModelName;\n label?: string;\n};\n\nconst createModelLabel = (model: ModelName) => {\n const parts = model.split('.');\n return parts[parts.length - 1];\n};\n\n// TODO(burdon): Users should be able to create and edit presets.\nexport const AiServicePresets: AiServicePreset[] = [\n // Sonnet is first so it is the default selection.\n {\n provider: 'dxos-remote' as const,\n model: 'ai.claude.model.claude-sonnet-4-6' as const,\n label: 'Claude Sonnet',\n },\n {\n provider: 'dxos-remote' as const,\n model: 'ai.claude.model.claude-opus-4-8' as const,\n label: 'Claude Opus',\n },\n {\n provider: 'dxos-remote' as const,\n model: 'ai.claude.model.claude-haiku-4-5' as const,\n label: 'Claude Haiku',\n },\n {\n provider: 'ollama' as const,\n model: 'ai.ollama.model.gpt-oss:20b' as const,\n },\n {\n provider: 'ollama' as const,\n model: 'ai.ollama.model.gemma4:latest' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: 'ai.google.model.gemma-3-27b' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: 'ai.meta.model.llama-3.2-3b-instruct' as const,\n },\n {\n model: 'ai.ollama.model.deepseek-r1:latest' as const,\n provider: 'dxos-local' as const,\n },\n].map(\n ({ model, provider, label }, i) =>\n ({\n id: `preset-${i}`,\n provider,\n model,\n label: label ?? createModelLabel(model),\n }) satisfies AiServicePreset,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, Registry as AtomRegistry } from '@effect-atom/atom-react';\nimport * as AiError from '@effect/ai/AiError';\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport * as Fiber from 'effect/Fiber';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Stream from 'effect/Stream';\n\nimport { type AiService, DEFAULT_EDGE_MODEL, type ModelName, type ModelRegistry, type OpaqueToolkit } from '@dxos/ai';\nimport { Capabilities } from '@dxos/app-framework';\nimport {\n AiContext,\n AiSession,\n createSystemPrompt,\n formatSystemPrompt,\n McpServerError,\n PartialBlock,\n ToolExecutionServices,\n} from '@dxos/assistant';\nimport { type Chat } from '@dxos/assistant-toolkit';\nimport { type Credential, Operation, type ServiceNotAvailableError, Trace } from '@dxos/compute';\nimport { type Database, Feed, Obj, Ref, type Registry } from '@dxos/echo';\nimport { EffectEx } from '@dxos/effect';\nimport { AgentService } from '@dxos/functions-runtime';\nimport { log } from '@dxos/log';\nimport { Message } from '@dxos/types';\n\nimport { AssistantOperation } from '#types';\n\n/**\n * @deprecated Services type for the old direct-conversation processor path.\n * Retained for backward compatibility with CLI and update-name.\n */\nexport type AiChatServices =\n | Credential.CredentialsService\n | Database.Service\n | AiService.AiService\n | Trace.TraceService;\n\n/**\n * Space-scoped services materialised by the layer passed into\n * {@link AiChatProcessor}. Mirrors the tag list that\n * {@link useChatProcessor} passes to {@link ServiceResolver.provide}.\n */\nexport type SpaceServices =\n | Database.Service\n | Feed.FeedService\n | Credential.CredentialsService\n | AiService.AiService\n | AgentService.AgentService\n | Registry.Service\n | OpaqueToolkit.OpaqueToolkitProvider;\n\nexport type AiChatProcessorOptions = {\n model?: ModelName;\n modelRegistry?: ModelRegistry;\n registry?: Registry.Registry;\n observableRegistry?: AtomRegistry.Registry;\n /**\n * For tracing.\n */\n chat?: Ref.Ref<Chat.Chat>;\n system?: string;\n};\n\nconst defaultOptions: Partial<AiChatProcessorOptions> = {\n model: DEFAULT_EDGE_MODEL,\n};\n\nexport type ProcessorRequestOptions = {};\n\nexport type ProcessorRequest = {\n message: string;\n options?: ProcessorRequestOptions;\n};\n\n/**\n * Maps a failure from the agent fiber to an error suitable for display.\n * {@link AiError}s originate from the AI service and are actionable by the user\n * (e.g., \"model 'x' not found\", \"Connection refused\"), so their detail is propagated.\n * Any other failure is treated as an internal/unexpected error and reported generically\n * to avoid leaking implementation detail.\n */\nconst parseError = (err: unknown): Error => {\n let message: string | undefined;\n if (AiError.isAiError(err)) {\n message = err.description?.trim() || err.message;\n } else if (typeof err === 'string') {\n // TODO(burdon): This is brittle.\n // UnknownError: ChatCompletionsClient.streamText: model 'gemma3:27b' not found\n const [, model] = err.match(/model\\s+'([^']+)'\\s+not\\s+found/i) || [];\n if (model) {\n message = `The model is not available: ${model}`;\n }\n }\n\n if (!message) {\n message = 'An unexpected error occurred.';\n }\n\n return new Error(message, { cause: err });\n};\n\n/**\n * Handles interactions with the AI service.\n * Uses AgentService to spawn a process-backed agent and subscribes to ephemeral trace events for streaming.\n */\nexport class AiChatProcessor {\n readonly #registry: AtomRegistry.Registry;\n\n /** Pending messages (finalized, non-streaming). */\n readonly #pending = Atom.make<Message.Message[]>([]);\n\n /** Currently streaming messages (from ephemeral trace events). */\n readonly #streaming = Atom.make<Message.Message[]>([]);\n\n /** Set of message IDs that have been finalized (non-pending delivered via ephemeral). */\n readonly #finalizedIds = new Set<string>();\n\n /** Currently active request fiber. */\n #requestFiber: Fiber.RuntimeFiber<void, unknown> | undefined;\n\n /** Last request (for retries). */\n #lastRequest: ProcessorRequest | undefined;\n\n /** Streaming state. */\n public readonly streaming = Atom.make<boolean>((get) => get(this.#streaming).length > 0);\n\n /** Active state. */\n public readonly active = Atom.make(false);\n\n /** Array of Messages (incl. the current message being streamed). */\n public readonly messages = Atom.make<Message.Message[]>((get) => [...get(this.#pending), ...get(this.#streaming)]);\n\n /** Last error. */\n public readonly error = Atom.make<Option.Option<Error>>(Option.none());\n\n /**\n * MCP server connection errors observed during the most recent request.\n * Misconfigured/unreachable servers are dropped from the toolkit so the chat\n * keeps working; the entries here let the UI display which servers failed.\n */\n public readonly mcpErrors = Atom.make<readonly Trace.PayloadType<typeof McpServerError>[]>([]);\n\n constructor(\n private readonly _conversation: AiSession.Session,\n private readonly _runtime: Capabilities.ProcessManagerRuntime,\n private readonly _feed: Feed.Feed,\n /**\n * Pre-built layer that materialises {@link SpaceServices}. Built via\n * {@link ServiceResolver.provide} with the {@link ServiceResolver} already\n * supplied (hence `RIn = never`); the {@link ServiceNotAvailableError}\n * error channel surfaces when a tag is not available for the space.\n * Provided to every effect run by the processor so the underlying\n * {@link ProcessManagerRuntime} has access to space-affinity services.\n */\n private readonly _spaceLayer: Layer.Layer<SpaceServices, ServiceNotAvailableError, never>,\n private readonly _options: AiChatProcessorOptions = defaultOptions,\n ) {\n this.#registry = this._options.observableRegistry ?? AtomRegistry.make();\n if (this._options.model && !this._options.system) {\n const capabilities = this._options.modelRegistry?.getCapabilities(this._options.model) ?? {};\n this._options.system = createSystemPrompt(capabilities);\n }\n }\n\n get context() {\n return this._conversation.context;\n }\n\n get conversation() {\n return this._conversation;\n }\n\n get registry() {\n return this._options.registry;\n }\n\n get system(): string {\n return this._options.system ?? '';\n }\n\n async getTools(): Promise<Record<string, any>> {\n return this._runtime.runPromise(\n Effect.provide(this._conversation.getTools(), ToolExecutionServices).pipe(Effect.provide(this._spaceLayer)),\n );\n }\n\n async getSystemPrompt(): Promise<string> {\n return this._runtime.runPromise(\n Effect.gen(this, function* () {\n const blueprints = this.context.getBlueprints();\n const objects = this.context.getObjects();\n return yield* formatSystemPrompt({ system: this._options.system, blueprints, objects });\n }).pipe(\n Effect.provideService(AiContext.Service, { binder: this.context }),\n Effect.provide(this._spaceLayer),\n Effect.orDie,\n ),\n );\n }\n\n /**\n * Initiates a new request via AgentService.\n */\n async request(requestProp: ProcessorRequest): Promise<void> {\n if (this.#requestFiber) {\n await this.cancel();\n }\n\n try {\n this.#lastRequest = requestProp;\n this.#registry.set(this.error, Option.none());\n this.#registry.set(this.mcpErrors, []);\n this.#registry.set(this.active, true);\n\n const effect = Effect.gen(this, function* () {\n // NOTE: Gets or creates a session for the feed.\n log.info('init agent session', { feed: Obj.getURI(this._feed), model: this._options.model });\n const session = yield* AgentService.getSession(this._feed, { model: this._options.model });\n const ephemeralStream = session.subscribeEphemeral();\n yield* ephemeralStream.pipe(\n Stream.runForEach((message) =>\n Effect.sync(() => {\n for (const event of message.events) {\n if (Trace.isOfType(PartialBlock, event)) {\n this.#handleEphemeralMessage(event.data);\n } else if (Trace.isOfType(McpServerError, event)) {\n this.#handleMcpError(event.data);\n }\n }\n }),\n ),\n Effect.fork,\n );\n\n log('chat processor submitting prompt', { length: requestProp.message.length });\n yield* session.submitPrompt(requestProp.message);\n log('chat processor submitPrompt returned, waiting for agent', {});\n\n // On the first message (no name yet), schedule rename immediately so it\n // runs concurrently with the AI response rather than waiting for completion.\n if (!this._options.chat?.target?.name) {\n yield* this.#updateChatName(requestProp.message);\n }\n\n yield* session.waitForCompletion();\n log.info('session complete');\n\n this.#flushStreaming();\n });\n\n this.#requestFiber = this._runtime.runFork(effect.pipe(Effect.provide(this._spaceLayer)));\n\n // Inspect the fiber's exit so the underlying failure (e.g. \"model 'x' not found\") is\n // preserved as a clean Error rather than an opaque FiberFailure.\n const exit = await this._runtime.runPromise(Fiber.await(this.#requestFiber));\n if (Exit.isFailure(exit)) {\n if (Cause.isInterruptedOnly(exit.cause)) {\n return;\n }\n\n throw EffectEx.causeToError(exit.cause);\n }\n\n this.#registry.set(this.error, Option.none());\n this.#lastRequest = undefined;\n this.#requestFiber = undefined;\n } catch (err) {\n // `EffectEx.causeToError` above unwraps the fiber failure into the underlying error (e.g. an AiError\n // carrying \"model 'x' not found\"); `parseError` decides what to surface to the user.\n log.error('request failed', { error: err });\n this.#registry.set(this.error, Option.some(parseError(err)));\n } finally {\n log.info('setting active to false');\n this.#registry.set(this.active, false);\n this.#requestFiber = undefined;\n }\n }\n\n /**\n * Cancels the current request.\n */\n async cancel(): Promise<void> {\n await EffectEx.runAndForwardErrors(\n Effect.gen(this, function* () {\n log.info('cancelling request', { fiber: this.#requestFiber });\n if (this.#requestFiber) {\n yield* Fiber.interrupt(this.#requestFiber);\n }\n const session = yield* AgentService.getSession(this._feed);\n yield* session.terminate();\n }).pipe(Effect.provide(this._spaceLayer)),\n );\n\n this.#requestFiber = undefined;\n this.#registry.set(this.active, false);\n }\n\n /**\n * Retry last failed request.\n */\n async retry(): Promise<void> {\n if (this.#lastRequest) {\n return this.request(this.#lastRequest);\n }\n }\n\n /**\n * Clears the recorded MCP server errors (e.g. after the user dismisses the warning banner).\n */\n dismissMcpErrors(): void {\n this.#registry.set(this.mcpErrors, []);\n }\n\n /**\n * Update the current chat's name.\n */\n async updateName(chat: Chat.Chat): Promise<void> {\n const spaceId = Obj.getDatabase(chat)?.spaceId;\n if (!spaceId) {\n return;\n }\n EffectEx.unwrapExit(\n await this._runtime.runPromiseExit(\n Operation.invoke(AssistantOperation.UpdateChatName, { chat }, { spaceId }).pipe(\n Effect.provide(this._spaceLayer),\n ),\n ),\n );\n }\n\n /**\n * Handles an ephemeral message from the agent process.\n * Both pending and completed blocks arrive here. Completed blocks are deduped\n * against messages already written to the feed queue to handle the race between\n * ephemeral delivery and feed replication.\n */\n #handleEphemeralMessage(event: Trace.PayloadType<typeof PartialBlock>) {\n const isPending = event.block.pending;\n const message = Obj.make(Message.Message, {\n id: event.messageId,\n created: new Date().toISOString(),\n sender: { role: event.role },\n blocks: [event.block],\n });\n\n if (isPending) {\n if (this.#finalizedIds.has(event.messageId)) {\n return;\n }\n this.#registry.update(this.#streaming, (streaming) => {\n const idx = streaming.findIndex((existing) => existing.id === event.messageId);\n if (idx >= 0) {\n const updated = [...streaming];\n updated[idx] = message;\n return updated;\n }\n return [...streaming, message];\n });\n } else {\n this.#finalizedIds.add(event.messageId);\n this.#registry.update(this.#streaming, (streaming) => streaming.filter((existing) => existing.id !== message.id));\n this.#registry.update(this.#pending, (pending) => {\n if (pending.some((existing) => existing.id === message.id)) {\n return pending;\n }\n return [...pending, message];\n });\n }\n }\n\n /**\n * Records a per-server MCP failure, deduped by url+protocol so repeat misconfigurations\n * across turns do not spam the UI.\n */\n #handleMcpError(event: Trace.PayloadType<typeof McpServerError>) {\n log.warn('MCP server error', event);\n this.#registry.update(this.mcpErrors, (errors) => {\n if (errors.some((existing) => existing.url === event.url && existing.protocol === event.protocol)) {\n return errors;\n }\n return [...errors, event];\n });\n }\n\n /**\n * Move remaining streaming messages to pending (called when agent completes).\n */\n #flushStreaming() {\n const remaining = this.#registry.get(this.#streaming);\n if (remaining.length > 0) {\n this.#registry.update(this.#pending, (pending) => [...pending, ...remaining]);\n this.#registry.set(this.#streaming, []);\n }\n this.#finalizedIds.clear();\n }\n\n /**\n * Schedule a chat name update as a detached (fire-and-forget) operation.\n * Called automatically on the first message; can also be invoked manually via the toolbar.\n */\n #updateChatName(prompt?: string): Effect.Effect<void, never, Operation.Service> {\n const chat = this._options.chat?.target;\n if (!chat) {\n return Effect.void;\n }\n\n const spaceId = Obj.getDatabase(chat)?.spaceId;\n if (!spaceId) {\n return Effect.void;\n }\n\n log.info('scheduling chat name update');\n return Operation.schedule(AssistantOperation.UpdateChatName, { chat, prompt }, { spaceId });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { getPersonalSpace } from '@dxos/app-toolkit';\nimport { type Key } from '@dxos/echo';\nimport { useClient } from '@dxos/react-client';\n\nexport type UseChatServicesProps = {\n id?: Key.SpaceId;\n};\n\n/**\n * Resolves the shared {@link Capabilities.ProcessManagerRuntime} for the given space.\n *\n * The runtime itself is space-agnostic; the returned value can be used to run\n * effects that pipe through {@link ServiceResolver.provide} (or the\n * `useSpaceCallback`/`useSpaceService` hooks) with the resolved {@link Key.SpaceId}.\n */\nexport const useChatServices = ({ id }: UseChatServicesProps) => {\n const client = useClient();\n id ??= getPersonalSpace(client)?.id;\n\n const runtime = useCapability(Capabilities.ProcessManagerRuntime);\n return id ? runtime : undefined;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Chat } from '@dxos/assistant-toolkit';\nimport { Filter, Obj, Query, Type } from '@dxos/echo';\nimport { EffectEx } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { MenuBuilder, useMenuBuilder } from '@dxos/react-ui-menu';\n\nimport { meta } from '#meta';\nimport { AssistantOperation } from '#types';\n\nimport { useChatContext } from '../components/Chat/context';\n\nexport type ChatToolbarActionsProps = {\n chat?: Chat.Chat;\n companionTo?: Obj.Unknown;\n};\n\nexport const useChatToolbarActions = ({ chat, companionTo }: ChatToolbarActionsProps) => {\n const { invoke } = useOperationInvoker();\n const { db } = useChatContext('useChatToolbarActions');\n\n // Stable references in deps avoid circular reference issues.\n return useMenuBuilder(\n (get) => {\n const chats =\n companionTo && db\n ? get(db.query(Query.select(Filter.id(companionTo.id)).targetOf(Chat.CompanionTo).source()).atom)\n : [];\n\n const builder = MenuBuilder.make()\n .root({\n label: ['chat-toolbar.title', { ns: meta.id }],\n })\n .action(\n 'new',\n {\n label: ['new-thread.button', { ns: meta.id }],\n icon: 'ph--plus--regular',\n type: 'new',\n disabled: !companionTo,\n },\n () => {\n invariant(companionTo);\n return invoke(AssistantOperation.SetCurrentChat, {\n companionTo,\n chat: undefined,\n }).pipe(EffectEx.runAndForwardErrors);\n },\n )\n .action(\n 'rename',\n {\n label: ['rename-thread.button', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n type: 'rename',\n disabled: !chat,\n },\n () =>\n Effect.gen(function* () {\n invariant(chat);\n yield* invoke(AssistantOperation.UpdateChatName, { chat }, { spaceId: db?.spaceId });\n }).pipe(EffectEx.runAndForwardErrors),\n )\n .action(\n 'branch',\n {\n label: ['branch-thread.menu', { ns: meta.id }],\n icon: 'ph--git-branch--regular',\n type: 'branch',\n disabled: !chat || !db,\n },\n () =>\n Effect.gen(function* () {\n invariant(chat);\n yield* invoke(AssistantOperation.ForkChat, { chat, companionTo }, { spaceId: db?.spaceId });\n }).pipe(EffectEx.runAndForwardErrors),\n );\n\n if (chats.length > 0) {\n builder.group(\n 'chats',\n {\n label: ['chat-history.label', { ns: meta.id }],\n icon: 'ph--clock-counter-clockwise--regular',\n selectCardinality: 'single',\n variant: 'dropdownMenu',\n },\n (builder) => {\n chats\n // TODO(wittjosiah): This should be the default sort order.\n .toSorted((a, b) => a.id.localeCompare(b.id))\n .forEach((chat) => {\n get(Obj.atomProperty(chat, 'name'));\n\n builder.action(\n chat.id,\n {\n label: Obj.getLabel(chat) ?? ['object-name.placeholder', { ns: Type.getTypename(Chat.Chat) }],\n },\n () =>\n Effect.gen(function* () {\n invariant(companionTo);\n yield* invoke(AssistantOperation.SetCurrentChat, {\n companionTo,\n chat,\n });\n }).pipe(EffectEx.runAndForwardErrors),\n );\n });\n },\n );\n }\n\n return builder.build();\n },\n [db?.spaceId, companionTo?.id, chat?.id, invoke],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Registry, RegistryContext } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport { useContext, useState } from 'react';\n\nimport { AiContext } from '@dxos/assistant';\nimport { Feed } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-client';\nimport { EffectEx } from '@dxos/effect';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nexport const useContextBinder = (\n space: Space | undefined,\n feed: Feed.Feed | undefined,\n): AiContext.Binder | undefined => {\n const registry = useContext(RegistryContext) as Registry.Registry;\n const [binder, setBinder] = useState<AiContext.Binder>();\n\n useAsyncEffect(async () => {\n setBinder(undefined);\n if (!space || !feed) {\n return;\n }\n\n const feedServiceLayer = createFeedServiceLayer(space.queues);\n const runtime = await EffectEx.runAndForwardErrors(\n Effect.runtime<Feed.FeedService>().pipe(Effect.provide(feedServiceLayer)),\n );\n const binder = new AiContext.Binder({ feed, runtime, registry });\n await binder.open();\n setBinder(binder);\n\n return () => {\n void binder.close();\n };\n }, [space, feed]);\n\n return binder;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport { useCallback } from 'react';\n\nimport { type AiContext } from '@dxos/assistant';\nimport { type Database, type Obj } from '@dxos/echo';\nimport { type URI } from '@dxos/keys';\n\nexport type UseContextObjectsProps = {\n db?: Database.Database;\n context?: AiContext.Binder;\n};\n\nexport type UseContextObjects = {\n objects: Obj.Unknown[];\n onUpdateObject: (dxn: URI.URI, checked: boolean) => Promise<void>;\n};\n\nconst emptyObjectsAtom = Atom.make<Obj.Unknown[]>([]);\n\n/**\n * Create reactive map of active object references (by DXN string).\n */\nexport const useContextObjects = ({ db, context }: UseContextObjectsProps): UseContextObjects => {\n const objects = useAtomValue(context?.objects ?? emptyObjectsAtom);\n\n const handleUpdateObject = useCallback<UseContextObjects['onUpdateObject']>(\n async (dxn: URI.URI, checked: boolean) => {\n if (!db || !context) {\n return;\n }\n\n const ref = db.makeRef<Obj.Unknown>(dxn);\n await ref.load();\n if (checked) {\n await context.bind({ objects: [ref] });\n } else {\n await context.unbind({ objects: [ref] });\n }\n },\n [db, context],\n );\n\n return {\n objects,\n onUpdateObject: handleUpdateObject,\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { trim } from '@dxos/util';\n\nimport { type AiChatProcessor } from '../processor';\n\n/**\n * Returns an async callback that logs the chat's current context, system prompt,\n * and resolved tools to the browser console under a collapsible group.\n * Used by the chat's debug-toggle event handler.\n */\nexport const useDebug = ({ processor }: { processor: AiChatProcessor }) => {\n return useCallback(async () => {\n const objects = processor.context.getObjects();\n const blueprints = processor.context.getBlueprints();\n const system = await processor.getSystemPrompt();\n const tools = (await processor.getTools()) ?? {};\n console.group('Chat', { objects, blueprints });\n try {\n console.log(trim`\n System Prompt:\n ${system}\n `);\n console.log(trim`\n Tools:\n ${Object.values(tools)\n .map((tool) => JSON.stringify(tool, null, 2))\n .join('\\n')}\n `);\n } finally {\n console.groupEnd();\n }\n }, [processor]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useEffect, useState } from 'react';\n\nimport { type Database, Type } from '@dxos/echo';\nimport { HiddenAnnotation, getTypeAnnotation } from '@dxos/echo/Annotation';\nimport { Kind as EntityKind } from '@dxos/echo/Entity';\n\nconst getFilteredTypes = (db: Database.Database): Type.AnyEntity[] =>\n Array.from(\n new Set(\n db.graph.registry\n .list()\n .filter(Type.isType)\n .filter((schema) => getTypeAnnotation(Type.getSchema(schema))?.kind !== EntityKind.Relation)\n .filter((schema) => !HiddenAnnotation.get(Type.getSchema(schema)).pipe(Option.getOrElse(() => false))),\n ),\n );\n\n// TODO(burdon): Pass in filter.\n// TODO(wittjosiah): Factor out.\nexport const useFilteredTypes = (db?: Database.Database): Type.AnyEntity[] => {\n const [types, setTypes] = useState<Type.AnyEntity[]>([]);\n useEffect(() => {\n if (!db) {\n return;\n }\n\n setTypes(getFilteredTypes(db));\n return db.graph.registry.changed.on(() => {\n setTypes(getFilteredTypes(db));\n });\n }, [db]);\n\n return types;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useRef, useState } from 'react';\n\nimport { type Space } from '@dxos/client/echo';\n\nexport const useFlush = (space?: Space) => {\n const [state, setState] = useState<'idle' | 'flushing' | 'flushed'>('idle');\n const resetTimer = useRef<NodeJS.Timeout | null>(null);\n\n const handleFlush = useCallback(() => {\n if (!space) {\n return;\n }\n\n queueMicrotask(async () => {\n if (resetTimer.current) {\n clearTimeout(resetTimer.current);\n }\n\n setState('flushing');\n await space.db.flush();\n setState('flushed');\n\n resetTimer.current = setTimeout(() => {\n setState('idle');\n resetTimer.current = null;\n }, 1_000);\n });\n }, [space]);\n\n return { state, handleFlush };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Dispatch, type SetStateAction, useState } from 'react';\n\nexport const useOnline = (): [boolean, Dispatch<SetStateAction<boolean>>] => {\n const [online, setOnline] = useState(true);\n return [online, setOnline];\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { type ChatPresetProps } from '#types';\n\nimport { type AiServicePreset, AiServicePresets } from '../processor';\n\nexport type UsePresets = {\n preset: AiServicePreset | undefined;\n} & Pick<ChatPresetProps, 'presets' | 'onPresetChange'>;\n\nexport const usePresets = (online: boolean): UsePresets => {\n // TODO(burdon): Memo preset for provider.\n const [preset, setPreset] = useState<AiServicePreset>();\n const presets = useMemo(\n () => AiServicePresets.filter((preset) => online === (preset.provider === 'dxos-remote')),\n [online],\n );\n\n const presetOptions = useMemo(\n () => presets.map(({ id, model, label }) => ({ id, label: label ?? model })),\n [presets],\n );\n\n useEffect(() => {\n setPreset(presets[0]);\n }, [presets]);\n\n const handlePresetChange = useCallback<NonNullable<ChatPresetProps['onPresetChange']>>(\n (id) => {\n const preset = presets.find((preset) => preset.id === id);\n if (preset) {\n setPreset(preset);\n }\n },\n [presets],\n );\n\n return {\n preset: preset,\n presets: presetOptions,\n onPresetChange: handlePresetChange,\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { type Space } from '@dxos/client/echo';\nimport { Filter, Obj } from '@dxos/echo';\nimport { type ReferencesProvider } from '@dxos/react-ui-chat';\n\n/**\n * Resolve references to objects in the space.\n */\nexport const useReferencesProvider = (space?: Space): ReferencesProvider | undefined => {\n return useMemo<ReferencesProvider | undefined>((): ReferencesProvider | undefined => {\n if (!space) {\n return undefined;\n }\n\n return {\n getReferences: async ({ query }) => {\n // TODO(burdon): Previously we filtered by types declared by the artifact definitions.\n // const schemas = blueprints.map((blueprint) => blueprint.schema).flat();\n // const objects = await space.db\n // .query(Filter.or(...schemas.map((schema) => Filter.type(schema as Type.Schema))))\n // .run();\n\n const objects = await space.db.query(Filter.everything()).run();\n\n return objects\n .filter(Obj.isObject)\n .filter((object) => stringMatch(query, Obj.getLabel(object) ?? ''))\n .map((object) => ({\n uri: Obj.getURI(object),\n label: Obj.getLabel(object) ?? '',\n }));\n },\n resolveReference: async ({ uri }) => {\n const object = await space.db.query(Filter.id(uri)).first();\n return { uri, label: Obj.getLabel(object) ?? '' };\n },\n } satisfies ReferencesProvider;\n }, [space]);\n};\n\nconst stringMatch = (query: string, label: string) => label.toLowerCase().startsWith(query.toLowerCase());\n"],
5
+ "mappings": "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",
6
+ "names": ["useCallback", "useEffect", "useMemo", "useState", "Blueprint", "Filter", "Obj", "Ref", "useQuery", "distinctBy", "useBlueprints", "registry", "db", "registryBlueprints", "setRegistryBlueprints", "query", "type", "runSync", "changed", "on", "spaceBlueprints", "blueprints", "b", "getMeta", "key", "sort", "name", "a", "localeCompare", "useActiveBlueprints", "context", "active", "setActive", "Map", "updateActive", "getBlueprints", "map", "blueprint", "filter", "entry", "undefined", "subscribeBlueprints", "useBlueprintHandlers", "onUpdateBlueprint", "checked", "registryBlueprint", "find", "bind", "fromURI", "registryURI", "objects", "run", "storedBlueprint", "make", "unbind", "Prec", "keymap", "useMemo", "isTruthy", "useChatKeymapExtensions", "event", "highest", "of", "key", "preventDefault", "run", "emit", "type", "shift", "filter", "RegistryContext", "Effect", "Layer", "useContext", "useMemo", "useState", "AiService", "OpaqueToolkit", "Capabilities", "useCapability", "AiSession", "Credential", "ServiceResolver", "Database", "Feed", "Ref", "Registry", "createFeedServiceLayer", "EffectEx", "AgentService", "log", "useAsyncEffect", "Schema", "ModelProviders", "ModelProvider", "Literal", "createModelLabel", "model", "parts", "split", "length", "AiServicePresets", "provider", "label", "map", "i", "id", "Atom", "Registry", "AtomRegistry", "AiError", "Cause", "Effect", "Exit", "Fiber", "Option", "Stream", "DEFAULT_EDGE_MODEL", "AiContext", "createSystemPrompt", "formatSystemPrompt", "McpServerError", "PartialBlock", "ToolExecutionServices", "Operation", "Trace", "Obj", "EffectEx", "AgentService", "log", "Message", "AssistantOperation", "defaultOptions", "isAiError", "err", "message", "Error", "make", "messages", "error", "_runtime", "_feed", "_spaceLayer", "_options", "capabilities", "getCapabilities", "system", "context", "conversation", "registry", "getTools", "getSystemPrompt", "blueprints", "objects", "getObjects", "binder", "provide", "orDie", "set", "active", "gen", "model", "session", "ephemeralStream", "event", "isOfType", "data", "length", "requestProp", "submitPrompt", "waitForCompletion", "isInterruptedOnly", "exit", "undefined", "info", "interrupt", "getSession", "pipe", "spaceId", "id", "messageId", "created", "Date", "toISOString", "sender", "role", "blocks", "isPending", "updated", "streaming", "update", "pending", "existing", "errors", "protocol", "remaining", "clear", "void", "chat", "prompt", "__dxlog_file", "session", "useState", "useAsyncEffect", "space", "AiSession", "feed", "feedTarget", "runtime", "registry", "open", "setSession", "close", "chat", "processor", "useMemo", "undefined", "spaceLayer", "Database", "FeedService", "Credential", "preset", "model", "settings", "observableRegistry", "Capabilities", "useCapability", "getPersonalSpace", "useClient", "useChatServices", "id", "client", "runtime", "ProcessManagerRuntime", "undefined", "Effect", "useOperationInvoker", "Chat", "Filter", "Obj", "Query", "Type", "EffectEx", "invariant", "MenuBuilder", "useMenuBuilder", "meta", "AssistantOperation", "__dxlog_file", "useChatToolbarActions", "db", "useMenuBuilder", "get", "MenuBuilder", "label", "Filter", "action", "icon", "type", "disabled", "invariant", "companionTo", "chat", "undefined", "pipe", "EffectEx", "Effect", "invoke", "AssistantOperation", "spaceId", "runAndForwardErrors", "chats", "builder", "group", "selectCardinality", "variant", "getLabel", "Obj", "RegistryContext", "Effect", "useContext", "useState", "AiContext", "createFeedServiceLayer", "EffectEx", "useAsyncEffect", "useContextBinder", "space", "feed", "registry", "binder", "setBinder", "undefined", "feedServiceLayer", "queues", "runtime", "runAndForwardErrors", "pipe", "provide", "Binder", "open", "close", "Atom", "useAtomValue", "useCallback", "emptyObjectsAtom", "make", "useContextObjects", "db", "context", "objects", "handleUpdateObject", "dxn", "checked", "ref", "makeRef", "load", "bind", "unbind", "onUpdateObject", "useCallback", "trim", "useDebug", "processor", "objects", "context", "getObjects", "blueprints", "getBlueprints", "system", "getSystemPrompt", "tools", "getTools", "console", "group", "log", "Object", "values", "map", "tool", "JSON", "stringify", "join", "groupEnd", "Option", "useEffect", "useState", "Type", "HiddenAnnotation", "getTypeAnnotation", "Kind", "EntityKind", "getFilteredTypes", "db", "Array", "from", "Set", "graph", "registry", "list", "filter", "isType", "schema", "getSchema", "kind", "Relation", "get", "pipe", "getOrElse", "useFilteredTypes", "types", "setTypes", "changed", "on", "useCallback", "useRef", "useState", "useFlush", "space", "state", "setState", "resetTimer", "handleFlush", "queueMicrotask", "current", "clearTimeout", "db", "flush", "setTimeout", "useState", "useOnline", "online", "setOnline", "useCallback", "useEffect", "useMemo", "useState", "usePresets", "online", "preset", "setPreset", "useState", "presets", "useMemo", "AiServicePresets", "filter", "provider", "presetOptions", "map", "id", "model", "label", "useEffect", "handlePresetChange", "useCallback", "find", "onPresetChange", "useMemo", "Filter", "Obj", "useReferencesProvider", "space", "undefined", "getReferences", "query", "objects", "db", "everything", "run", "filter", "isObject", "object", "stringMatch", "getLabel", "map", "uri", "getURI", "label", "resolveReference", "id", "first", "toLowerCase", "startsWith"]
7
+ }
@@ -0,0 +1,38 @@
1
+ import {
2
+ getChatPath,
3
+ getChatsPath
4
+ } from "./chunk-HLANPOBA.mjs";
5
+ import {
6
+ ASSISTANT_COMPANION_VARIANT,
7
+ ASSISTANT_DIALOG,
8
+ meta
9
+ } from "./chunk-XYHPOGTK.mjs";
10
+ import {
11
+ ApiAuthorization,
12
+ AssistantCapabilities_exports,
13
+ AssistantEvents_exports,
14
+ AssistantOperation_exports,
15
+ Assistant_exports,
16
+ ServiceType,
17
+ categoryIcons
18
+ } from "./chunk-YXRGZYYH.mjs";
19
+ import {
20
+ blueprint_default
21
+ } from "./chunk-5H6UJHLF.mjs";
22
+ import "./chunk-J5LGTIGS.mjs";
23
+ export {
24
+ ASSISTANT_COMPANION_VARIANT,
25
+ ASSISTANT_DIALOG,
26
+ ApiAuthorization,
27
+ Assistant_exports as Assistant,
28
+ blueprint_default as AssistantBlueprint,
29
+ AssistantCapabilities_exports as AssistantCapabilities,
30
+ AssistantEvents_exports as AssistantEvents,
31
+ AssistantOperation_exports as AssistantOperation,
32
+ ServiceType,
33
+ categoryIcons,
34
+ getChatPath,
35
+ getChatsPath,
36
+ meta
37
+ };
38
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,71 @@
1
+ import {
2
+ ANTHROPIC_PROVIDER_ID,
3
+ ANTHROPIC_SOURCE
4
+ } from "./chunk-KLYLW4WH.mjs";
5
+ import "./chunk-J5LGTIGS.mjs";
6
+
7
+ // src/capabilities/integration-provider.ts
8
+ import * as Effect from "effect/Effect";
9
+ import * as Schema from "effect/Schema";
10
+ import { Capability } from "@dxos/app-framework";
11
+ import { Obj, Ref } from "@dxos/echo";
12
+ import { Integration, IntegrationProvider as IntegrationProviderCapability } from "@dxos/plugin-integration";
13
+ import { AccessToken } from "@dxos/types";
14
+ var AnthropicTokenForm = Schema.Struct({
15
+ token: Schema.String.annotations({
16
+ title: "API key",
17
+ description: "Your Anthropic API key \u2014 find it at https://console.anthropic.com/settings/keys."
18
+ })
19
+ });
20
+ var validateAnthropicKey = (apiKey) => Effect.tryPromise({
21
+ try: () => fetch("https://api.anthropic.com/v1/models", {
22
+ headers: {
23
+ "x-api-key": apiKey,
24
+ "anthropic-version": "2023-06-01",
25
+ "anthropic-dangerous-direct-browser-access": "true"
26
+ }
27
+ }),
28
+ catch: (cause) => cause
29
+ }).pipe(Effect.matchEffect({
30
+ onSuccess: (response) => response.status === 401 || response.status === 403 ? Effect.fail(new Error("Invalid Anthropic API key. Check it at https://console.anthropic.com/settings/keys.")) : Effect.void,
31
+ onFailure: () => Effect.void
32
+ }));
33
+ var credentialForm = {
34
+ schema: AnthropicTokenForm,
35
+ defaultValues: {
36
+ token: ""
37
+ },
38
+ // Validates before the dialog closes so 401/403 errors are shown inline.
39
+ onValidate: ({ values }) => validateAnthropicKey(values.token.trim()),
40
+ onSubmit: ({ values, provider }) => Effect.sync(() => {
41
+ const accessToken = Obj.make(AccessToken.AccessToken, {
42
+ source: ANTHROPIC_SOURCE,
43
+ token: values.token.trim()
44
+ });
45
+ const integration = Obj.make(Integration.Integration, {
46
+ name: provider.label ?? "Anthropic",
47
+ providerId: provider.id,
48
+ accessToken: Ref.make(accessToken),
49
+ targets: []
50
+ });
51
+ return {
52
+ kind: "complete",
53
+ accessToken,
54
+ integration
55
+ };
56
+ })
57
+ };
58
+ var integration_provider_default = Capability.makeModule(Effect.fnUntraced(function* () {
59
+ return Capability.contributes(IntegrationProviderCapability, [
60
+ {
61
+ id: ANTHROPIC_PROVIDER_ID,
62
+ source: ANTHROPIC_SOURCE,
63
+ label: "Anthropic",
64
+ credentialForm
65
+ }
66
+ ]);
67
+ }));
68
+ export {
69
+ integration_provider_default as default
70
+ };
71
+ //# sourceMappingURL=integration-provider-RBD3AFJU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/integration-provider.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Obj, Ref } from '@dxos/echo';\nimport {\n type CredentialForm,\n Integration,\n IntegrationProvider as IntegrationProviderCapability,\n} from '@dxos/plugin-integration';\nimport { AccessToken } from '@dxos/types';\n\nimport { ANTHROPIC_PROVIDER_ID, ANTHROPIC_SOURCE } from '../constants';\n\n/** API-key form for the Anthropic BYOK provider; key is best-effort validated against `/v1/models`. */\nconst AnthropicTokenForm = Schema.Struct({\n token: Schema.String.annotations({\n title: 'API key',\n description: 'Your Anthropic API key — find it at https://console.anthropic.com/settings/keys.',\n }),\n});\n\n/**\n * Best-effort validation: 401/403 from Anthropic blocks the save; CORS/network failures\n * are tolerated so the form still works in environments where the direct browser call is blocked.\n */\nconst validateAnthropicKey = (apiKey: string): Effect.Effect<void, Error> =>\n Effect.tryPromise({\n try: () =>\n fetch('https://api.anthropic.com/v1/models', {\n headers: {\n 'x-api-key': apiKey,\n 'anthropic-version': '2023-06-01',\n 'anthropic-dangerous-direct-browser-access': 'true',\n },\n }),\n catch: (cause) => cause,\n }).pipe(\n Effect.matchEffect({\n onSuccess: (response) =>\n response.status === 401 || response.status === 403\n ? Effect.fail(\n new Error('Invalid Anthropic API key. Check it at https://console.anthropic.com/settings/keys.'),\n )\n : Effect.void,\n onFailure: () => Effect.void,\n }),\n );\n\nconst credentialForm: CredentialForm<Schema.Schema.Type<typeof AnthropicTokenForm>> = {\n schema: AnthropicTokenForm,\n defaultValues: { token: '' },\n // Validates before the dialog closes so 401/403 errors are shown inline.\n onValidate: ({ values }) => validateAnthropicKey(values.token.trim()),\n onSubmit: ({ values, provider }) =>\n Effect.sync(() => {\n const accessToken = Obj.make(AccessToken.AccessToken, {\n source: ANTHROPIC_SOURCE,\n token: values.token.trim(),\n });\n const integration = Obj.make(Integration.Integration, {\n name: provider.label ?? 'Anthropic',\n providerId: provider.id,\n accessToken: Ref.make(accessToken),\n targets: [],\n });\n return { kind: 'complete' as const, accessToken, integration };\n }),\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(IntegrationProviderCapability, [\n {\n id: ANTHROPIC_PROVIDER_ID,\n source: ANTHROPIC_SOURCE,\n label: 'Anthropic',\n credentialForm,\n },\n ]);\n }),\n);\n"],
5
+ "mappings": ";;;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,KAAKC,WAAW;AACzB,SAEEC,aACAC,uBAAuBC,qCAClB;AACP,SAASC,mBAAmB;AAK5B,IAAMC,qBAA4BC,cAAO;EACvCC,OAAcC,cAAOC,YAAY;IAC/BC,OAAO;IACPC,aAAa;EACf,CAAA;AACF,CAAA;AAMA,IAAMC,uBAAuB,CAACC,WACrBC,kBAAW;EAChBC,KAAK,MACHC,MAAM,uCAAuC;IAC3CC,SAAS;MACP,aAAaJ;MACb,qBAAqB;MACrB,6CAA6C;IAC/C;EACF,CAAA;EACFK,OAAO,CAACC,UAAUA;AACpB,CAAA,EAAGC,KACMC,mBAAY;EACjBC,WAAW,CAACC,aACVA,SAASC,WAAW,OAAOD,SAASC,WAAW,MACpCC,YACL,IAAIC,MAAM,qFAAA,CAAA,IAELC;EACbC,WAAW,MAAaD;AAC1B,CAAA,CAAA;AAGJ,IAAME,iBAAgF;EACpFC,QAAQzB;EACR0B,eAAe;IAAExB,OAAO;EAAG;;EAE3ByB,YAAY,CAAC,EAAEC,OAAM,MAAOrB,qBAAqBqB,OAAO1B,MAAM2B,KAAI,CAAA;EAClEC,UAAU,CAAC,EAAEF,QAAQG,SAAQ,MACpBC,YAAK,MAAA;AACV,UAAMC,cAAcC,IAAIC,KAAKC,YAAYA,aAAa;MACpDC,QAAQC;MACRpC,OAAO0B,OAAO1B,MAAM2B,KAAI;IAC1B,CAAA;AACA,UAAMU,cAAcL,IAAIC,KAAKK,YAAYA,aAAa;MACpDC,MAAMV,SAASW,SAAS;MACxBC,YAAYZ,SAASa;MACrBX,aAAaY,IAAIV,KAAKF,WAAAA;MACtBa,SAAS,CAAA;IACX,CAAA;AACA,WAAO;MAAEC,MAAM;MAAqBd;MAAaM;IAAY;EAC/D,CAAA;AACJ;AAEA,IAAA,+BAAeS,WAAWC,WACjBC,kBAAW,aAAA;AAChB,SAAOF,WAAWG,YAAYC,+BAA+B;IAC3D;MACER,IAAIS;MACJhB,QAAQC;MACRI,OAAO;MACPlB;IACF;GACD;AACH,CAAA,CAAA;",
6
+ "names": ["Effect", "Schema", "Capability", "Obj", "Ref", "Integration", "IntegrationProvider", "IntegrationProviderCapability", "AccessToken", "AnthropicTokenForm", "Struct", "token", "String", "annotations", "title", "description", "validateAnthropicKey", "apiKey", "tryPromise", "try", "fetch", "headers", "catch", "cause", "pipe", "matchEffect", "onSuccess", "response", "status", "fail", "Error", "void", "onFailure", "credentialForm", "schema", "defaultValues", "onValidate", "values", "trim", "onSubmit", "provider", "sync", "accessToken", "Obj", "make", "AccessToken", "source", "ANTHROPIC_SOURCE", "integration", "Integration", "name", "label", "providerId", "id", "Ref", "targets", "kind", "Capability", "makeModule", "fnUntraced", "contributes", "IntegrationProviderCapability", "ANTHROPIC_PROVIDER_ID"]
7
+ }
@@ -0,0 +1,24 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/local-model-resolver.ts
4
+ import * as OpenAiClient from "@effect/ai-openai/OpenAiClient";
5
+ import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
6
+ import * as HttpClient from "@effect/platform/HttpClient";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Layer from "effect/Layer";
9
+ import { LMStudioResolver, OllamaResolver } from "@dxos/ai/resolvers";
10
+ import { Capability } from "@dxos/app-framework";
11
+ import { AppCapabilities } from "@dxos/app-toolkit";
12
+ var localModelResolver = Capability.makeModule(() => Effect.succeed([
13
+ Capability.contributes(AppCapabilities.AiModelResolver, LMStudioResolver.make().pipe(Layer.provide(OpenAiClient.layer({
14
+ apiUrl: LMStudioResolver.DEFAULT_LMSTUDIO_ENDPOINT
15
+ })), Layer.provide(FetchHttpClient.layer))),
16
+ Capability.contributes(AppCapabilities.AiModelResolver, OllamaResolver.make({
17
+ transformClient: HttpClient.withTracerPropagation(false)
18
+ }).pipe(Layer.provide(FetchHttpClient.layer)))
19
+ ]));
20
+ var local_model_resolver_default = localModelResolver;
21
+ export {
22
+ local_model_resolver_default as default
23
+ };
24
+ //# sourceMappingURL=local-model-resolver-I2BENFFS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/local-model-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as OpenAiClient from '@effect/ai-openai/OpenAiClient';\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport * as HttpClient from '@effect/platform/HttpClient';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { LMStudioResolver, OllamaResolver } from '@dxos/ai/resolvers';\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\n/**\n * To start LM Studio server:\n * ```bash\n * ~/.lmstudio/bin/lms server start --cors\n * ```\n *\n * To start Ollama server:\n * ```bash\n * OLLAMA_ORIGINS=\"*\" ollama serve\n * ```\n */\nconst localModelResolver = Capability.makeModule<[]>(() =>\n Effect.succeed([\n Capability.contributes(\n AppCapabilities.AiModelResolver,\n LMStudioResolver.make().pipe(\n Layer.provide(\n OpenAiClient.layer({\n apiUrl: LMStudioResolver.DEFAULT_LMSTUDIO_ENDPOINT,\n }),\n ),\n Layer.provide(FetchHttpClient.layer),\n ),\n ),\n Capability.contributes(\n AppCapabilities.AiModelResolver,\n OllamaResolver.make({\n transformClient: HttpClient.withTracerPropagation(false),\n }).pipe(Layer.provide(FetchHttpClient.layer)),\n ),\n ]),\n);\n\nexport default localModelResolver;\n"],
5
+ "mappings": ";;;AAIA,YAAYA,kBAAkB;AAC9B,YAAYC,qBAAqB;AACjC,YAAYC,gBAAgB;AAC5B,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,kBAAkBC,sBAAsB;AACjD,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAahC,IAAMC,qBAAqBF,WAAWG,WAAe,MAC5CC,eAAQ;EACbJ,WAAWK,YACTJ,gBAAgBK,iBAChBR,iBAAiBS,KAAI,EAAGC,KAChBC,cACSC,mBAAM;IACjBC,QAAQb,iBAAiBc;EAC3B,CAAA,CAAA,GAEIH,cAAwBC,qBAAK,CAAA,CAAA;EAGvCV,WAAWK,YACTJ,gBAAgBK,iBAChBP,eAAeQ,KAAK;IAClBM,iBAA4BC,iCAAsB,KAAA;EACpD,CAAA,EAAGN,KAAWC,cAAwBC,qBAAK,CAAA,CAAA;CAE9C,CAAA;AAGH,IAAA,+BAAeR;",
6
+ "names": ["OpenAiClient", "FetchHttpClient", "HttpClient", "Effect", "Layer", "LMStudioResolver", "OllamaResolver", "Capability", "AppCapabilities", "localModelResolver", "makeModule", "succeed", "contributes", "AiModelResolver", "make", "pipe", "provide", "layer", "apiUrl", "DEFAULT_LMSTUDIO_ENDPOINT", "transformClient", "withTracerPropagation"]
7
+ }
@@ -0,0 +1,110 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/markdown-extension.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capabilities, Capability } from "@dxos/app-framework";
6
+ import { Obj } from "@dxos/echo";
7
+ import { MarkdownCapabilities } from "@dxos/plugin-markdown/types";
8
+ import { AssistantOperation } from "#types";
9
+
10
+ // src/extensions/prompt-extension.ts
11
+ import { syntaxTree } from "@codemirror/language";
12
+ import { Decoration, ViewPlugin, WidgetType } from "@codemirror/view";
13
+ import { Domino } from "@dxos/ui";
14
+ var promptRunExtension = ({ onRun }) => {
15
+ return [
16
+ ViewPlugin.fromClass(class {
17
+ decorations;
18
+ constructor(view) {
19
+ this.decorations = this.buildDecorations(view);
20
+ }
21
+ update(update) {
22
+ if (update.docChanged || update.viewportChanged || update.selectionSet || update.focusChanged) {
23
+ this.decorations = this.buildDecorations(update.view);
24
+ }
25
+ }
26
+ buildDecorations(view) {
27
+ const decorations = [];
28
+ syntaxTree(view.state).iterate({
29
+ enter: (node) => {
30
+ if (node.name === "FencedCode") {
31
+ const info = node.node.getChild("CodeInfo");
32
+ if (info) {
33
+ const type = view.state.sliceDoc(info.from, info.to);
34
+ const text = node.node.getChild("CodeText");
35
+ if (type === "prompt" && text) {
36
+ const content = view.state.sliceDoc(text.from, text.to).trim();
37
+ if (content.length > 0) {
38
+ const widget = new PromptRunWidget(content, onRun);
39
+ decorations.push({
40
+ from: node.from,
41
+ to: node.from,
42
+ decoration: Decoration.widget({
43
+ widget,
44
+ side: -1
45
+ })
46
+ });
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ });
53
+ return Decoration.set(decorations.sort((a, b) => a.from - b.from || a.to - b.to).map((d) => d.decoration.range(d.from, d.to)));
54
+ }
55
+ }, {
56
+ decorations: (v) => v.decorations
57
+ })
58
+ ];
59
+ };
60
+ var PromptRunWidget = class extends WidgetType {
61
+ prompt;
62
+ onClick;
63
+ constructor(prompt, onClick) {
64
+ super(), this.prompt = prompt, this.onClick = onClick;
65
+ }
66
+ eq(other) {
67
+ return this.prompt === other.prompt;
68
+ }
69
+ ignoreEvent() {
70
+ return false;
71
+ }
72
+ toDOM() {
73
+ return Domino.of("div").classNames("relative").append(Domino.of("button").classNames("dx-button absolute right-0 top-4").on("mousedown", (event) => {
74
+ event.preventDefault();
75
+ event.stopPropagation();
76
+ this.onClick(this.prompt);
77
+ }).append(Domino.of("svg", Domino.SVG).classNames("w-4 h-4 cursor-pointer").append(Domino.of("use", Domino.SVG).attributes({
78
+ href: Domino.icon("ph--play--regular")
79
+ })))).root;
80
+ }
81
+ };
82
+
83
+ // src/capabilities/markdown-extension.ts
84
+ var markdown_extension_default = Capability.makeModule(Effect.fnUntraced(function* () {
85
+ const capabilities = yield* Capability.Service;
86
+ return Capability.contributes(MarkdownCapabilities.ExtensionProvider, [
87
+ ({ document: doc }) => {
88
+ if (!doc) {
89
+ return void 0;
90
+ }
91
+ const db = Obj.getDatabase(doc);
92
+ if (!db) {
93
+ return void 0;
94
+ }
95
+ const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);
96
+ return promptRunExtension({
97
+ onRun: (promptText) => {
98
+ void invokePromise(AssistantOperation.RunPromptInNewChat, {
99
+ db,
100
+ prompt: promptText
101
+ });
102
+ }
103
+ });
104
+ }
105
+ ]);
106
+ }));
107
+ export {
108
+ markdown_extension_default as default
109
+ };
110
+ //# sourceMappingURL=markdown-extension-YMIFDMYF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/markdown-extension.ts", "../../../src/extensions/prompt-extension.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { MarkdownCapabilities } from '@dxos/plugin-markdown/types';\n\nimport { AssistantOperation } from '#types';\n\nimport { promptRunExtension } from '../extensions';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(MarkdownCapabilities.ExtensionProvider, [\n ({ document: doc }) => {\n if (!doc) {\n return undefined;\n }\n\n const db = Obj.getDatabase(doc);\n if (!db) {\n return undefined;\n }\n\n const { invokePromise } = capabilities.get(Capabilities.OperationInvoker);\n\n return promptRunExtension({\n onRun: (promptText) => {\n void invokePromise(AssistantOperation.RunPromptInNewChat, { db, prompt: promptText });\n },\n });\n },\n ]);\n }),\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { syntaxTree } from '@codemirror/language';\nimport { type Extension } from '@codemirror/state';\nimport { Decoration, type DecorationSet, EditorView, ViewPlugin, type ViewUpdate, WidgetType } from '@codemirror/view';\n\nimport { Domino } from '@dxos/ui';\n\nexport type PromptExtensionOptions = {\n /** Called when the user clicks the run button on a prompt code block. */\n onRun: (promptText: string) => void;\n};\n\n/**\n * CodeMirror extension that adds a green \"run\" button to ```prompt fenced code blocks.\n */\nexport const promptRunExtension = ({ onRun }: PromptExtensionOptions): Extension => {\n return [\n ViewPlugin.fromClass(\n class {\n decorations: DecorationSet;\n\n constructor(view: EditorView) {\n this.decorations = this.buildDecorations(view);\n }\n\n update(update: ViewUpdate) {\n if (update.docChanged || update.viewportChanged || update.selectionSet || update.focusChanged) {\n this.decorations = this.buildDecorations(update.view);\n }\n }\n\n buildDecorations(view: EditorView): DecorationSet {\n const decorations: Array<{ from: number; to: number; decoration: Decoration }> = [];\n\n syntaxTree(view.state).iterate({\n enter: (node) => {\n if (node.name === 'FencedCode') {\n const info = node.node.getChild('CodeInfo');\n if (info) {\n const type = view.state.sliceDoc(info.from, info.to);\n const text = node.node.getChild('CodeText');\n if (type === 'prompt' && text) {\n const content = view.state.sliceDoc(text.from, text.to).trim();\n if (content.length > 0) {\n const widget = new PromptRunWidget(content, onRun);\n decorations.push({\n from: node.from,\n to: node.from,\n decoration: Decoration.widget({ widget, side: -1 }),\n });\n }\n }\n }\n }\n },\n });\n\n return Decoration.set(\n decorations.sort((a, b) => a.from - b.from || a.to - b.to).map((d) => d.decoration.range(d.from, d.to)),\n );\n }\n },\n {\n decorations: (v) => v.decorations,\n },\n ),\n ];\n};\n\nclass PromptRunWidget extends WidgetType {\n constructor(\n private readonly prompt: string,\n private readonly onClick: (promptText: string) => void,\n ) {\n super();\n }\n\n override eq(other: this) {\n return this.prompt === other.prompt;\n }\n\n override ignoreEvent() {\n return false;\n }\n\n override toDOM() {\n return Domino.of('div')\n .classNames('relative')\n .append(\n Domino.of('button')\n .classNames('dx-button absolute right-0 top-4')\n .on('mousedown', (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.onClick(this.prompt);\n })\n .append(\n Domino.of('svg', Domino.SVG)\n .classNames('w-4 h-4 cursor-pointer')\n .append(\n Domino.of('use', Domino.SVG).attributes({\n href: Domino.icon('ph--play--regular'),\n }),\n ),\n ),\n ).root;\n }\n}\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,WAAW;AACpB,SAASC,4BAA4B;AAErC,SAASC,0BAA0B;;;ACNnC,SAASC,kBAAkB;AAE3B,SAASC,YAA4CC,YAA6BC,kBAAkB;AAEpG,SAASC,cAAc;AAUhB,IAAMC,qBAAqB,CAAC,EAAEC,MAAK,MAA0B;AAClE,SAAO;IACLJ,WAAWK,UACT,MAAA;MACEC;MAEA,YAAYC,MAAkB;AAC5B,aAAKD,cAAc,KAAKE,iBAAiBD,IAAAA;MAC3C;MAEAE,OAAOA,QAAoB;AACzB,YAAIA,OAAOC,cAAcD,OAAOE,mBAAmBF,OAAOG,gBAAgBH,OAAOI,cAAc;AAC7F,eAAKP,cAAc,KAAKE,iBAAiBC,OAAOF,IAAI;QACtD;MACF;MAEAC,iBAAiBD,MAAiC;AAChD,cAAMD,cAA2E,CAAA;AAEjFR,mBAAWS,KAAKO,KAAK,EAAEC,QAAQ;UAC7BC,OAAO,CAACC,SAAAA;AACN,gBAAIA,KAAKC,SAAS,cAAc;AAC9B,oBAAMC,OAAOF,KAAKA,KAAKG,SAAS,UAAA;AAChC,kBAAID,MAAM;AACR,sBAAME,OAAOd,KAAKO,MAAMQ,SAASH,KAAKI,MAAMJ,KAAKK,EAAE;AACnD,sBAAMC,OAAOR,KAAKA,KAAKG,SAAS,UAAA;AAChC,oBAAIC,SAAS,YAAYI,MAAM;AAC7B,wBAAMC,UAAUnB,KAAKO,MAAMQ,SAASG,KAAKF,MAAME,KAAKD,EAAE,EAAEG,KAAI;AAC5D,sBAAID,QAAQE,SAAS,GAAG;AACtB,0BAAMC,SAAS,IAAIC,gBAAgBJ,SAAStB,KAAAA;AAC5CE,gCAAYyB,KAAK;sBACfR,MAAMN,KAAKM;sBACXC,IAAIP,KAAKM;sBACTS,YAAYjC,WAAW8B,OAAO;wBAAEA;wBAAQI,MAAM;sBAAG,CAAA;oBACnD,CAAA;kBACF;gBACF;cACF;YACF;UACF;QACF,CAAA;AAEA,eAAOlC,WAAWmC,IAChB5B,YAAY6B,KAAK,CAACC,GAAGC,MAAMD,EAAEb,OAAOc,EAAEd,QAAQa,EAAEZ,KAAKa,EAAEb,EAAE,EAAEc,IAAI,CAACC,MAAMA,EAAEP,WAAWQ,MAAMD,EAAEhB,MAAMgB,EAAEf,EAAE,CAAA,CAAA;MAEzG;IACF,GACA;MACElB,aAAa,CAACmC,MAAMA,EAAEnC;IACxB,CAAA;;AAGN;AAEA,IAAMwB,kBAAN,cAA8B7B,WAAAA;;;EAC5B,YACmByC,QACAC,SACjB;AACA,UAAK,GAAA,KAHYD,SAAAA,QAAAA,KACAC,UAAAA;EAGnB;EAESC,GAAGC,OAAa;AACvB,WAAO,KAAKH,WAAWG,MAAMH;EAC/B;EAESI,cAAc;AACrB,WAAO;EACT;EAESC,QAAQ;AACf,WAAO7C,OAAO8C,GAAG,KAAA,EACdC,WAAW,UAAA,EACXC,OACChD,OAAO8C,GAAG,QAAA,EACPC,WAAW,kCAAA,EACXE,GAAG,aAAa,CAACC,UAAAA;AAChBA,YAAMC,eAAc;AACpBD,YAAME,gBAAe;AACrB,WAAKX,QAAQ,KAAKD,MAAM;IAC1B,CAAA,EACCQ,OACChD,OAAO8C,GAAG,OAAO9C,OAAOqD,GAAG,EACxBN,WAAW,wBAAA,EACXC,OACChD,OAAO8C,GAAG,OAAO9C,OAAOqD,GAAG,EAAEC,WAAW;MACtCC,MAAMvD,OAAOwD,KAAK,mBAAA;IACpB,CAAA,CAAA,CAAA,CAAA,EAGRC;EACN;AACF;;;ADhGA,IAAA,6BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,eAAe,OAAOH,WAAWI;AAEvC,SAAOJ,WAAWK,YAAYC,qBAAqBC,mBAAmB;IACpE,CAAC,EAAEC,UAAUC,IAAG,MAAE;AAChB,UAAI,CAACA,KAAK;AACR,eAAOC;MACT;AAEA,YAAMC,KAAKC,IAAIC,YAAYJ,GAAAA;AAC3B,UAAI,CAACE,IAAI;AACP,eAAOD;MACT;AAEA,YAAM,EAAEI,cAAa,IAAKX,aAAaY,IAAIC,aAAaC,gBAAgB;AAExE,aAAOC,mBAAmB;QACxBC,OAAO,CAACC,eAAAA;AACN,eAAKN,cAAcO,mBAAmBC,oBAAoB;YAAEX;YAAIY,QAAQH;UAAW,CAAA;QACrF;MACF,CAAA;IACF;GACD;AACH,CAAA,CAAA;",
6
+ "names": ["Effect", "Capabilities", "Capability", "Obj", "MarkdownCapabilities", "AssistantOperation", "syntaxTree", "Decoration", "ViewPlugin", "WidgetType", "Domino", "promptRunExtension", "onRun", "fromClass", "decorations", "view", "buildDecorations", "update", "docChanged", "viewportChanged", "selectionSet", "focusChanged", "state", "iterate", "enter", "node", "name", "info", "getChild", "type", "sliceDoc", "from", "to", "text", "content", "trim", "length", "widget", "PromptRunWidget", "push", "decoration", "side", "set", "sort", "a", "b", "map", "d", "range", "v", "prompt", "onClick", "eq", "other", "ignoreEvent", "toDOM", "of", "classNames", "append", "on", "event", "preventDefault", "stopPropagation", "SVG", "attributes", "href", "icon", "root", "Capability", "makeModule", "fnUntraced", "capabilities", "Service", "contributes", "MarkdownCapabilities", "ExtensionProvider", "document", "doc", "undefined", "db", "Obj", "getDatabase", "invokePromise", "get", "Capabilities", "OperationInvoker", "promptRunExtension", "onRun", "promptText", "AssistantOperation", "RunPromptInNewChat", "prompt"]
7
+ }