@dxos/plugin-assistant 0.8.4-main.c1de068 → 0.8.4-main.c351d160a8

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 (631) hide show
  1. package/dist/lib/browser/AssistantSettings-RBJHZPUJ.mjs +93 -0
  2. package/dist/lib/browser/AssistantSettings-RBJHZPUJ.mjs.map +7 -0
  3. package/dist/lib/browser/BlueprintArticle-FTGO6Y2F.mjs +35 -0
  4. package/dist/lib/browser/BlueprintArticle-FTGO6Y2F.mjs.map +7 -0
  5. package/dist/lib/browser/ChatCompanion-J7UAC5TX.mjs +203 -0
  6. package/dist/lib/browser/ChatCompanion-J7UAC5TX.mjs.map +7 -0
  7. package/dist/lib/browser/ChatContainer-QPPZHQRQ.mjs +12 -0
  8. package/dist/lib/browser/ChatContainer-QPPZHQRQ.mjs.map +7 -0
  9. package/dist/lib/browser/ChatDialog-NYU67AQS.mjs +85 -0
  10. package/dist/lib/browser/ChatDialog-NYU67AQS.mjs.map +7 -0
  11. package/dist/lib/browser/ProjectArticle-ZB27ZROW.mjs +92 -0
  12. package/dist/lib/browser/ProjectArticle-ZB27ZROW.mjs.map +7 -0
  13. package/dist/lib/browser/ProjectSettings-DDYTUL25.mjs +117 -0
  14. package/dist/lib/browser/ProjectSettings-DDYTUL25.mjs.map +7 -0
  15. package/dist/lib/browser/PromptArticle-RHTAHF23.mjs +71 -0
  16. package/dist/lib/browser/PromptArticle-RHTAHF23.mjs.map +7 -0
  17. package/dist/lib/browser/TracePanel-UPRPODLO.mjs +228 -0
  18. package/dist/lib/browser/TracePanel-UPRPODLO.mjs.map +7 -0
  19. package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs +112 -0
  20. package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs.map +7 -0
  21. package/dist/lib/browser/ai-service-CY2BYPH6.mjs +22 -0
  22. package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
  23. package/dist/lib/browser/app-graph-builder-RXT6BPSZ.mjs +244 -0
  24. package/dist/lib/browser/app-graph-builder-RXT6BPSZ.mjs.map +7 -0
  25. package/dist/lib/browser/blueprint-definition-O4XHPNJB.mjs +37 -0
  26. package/dist/lib/browser/blueprint-definition-O4XHPNJB.mjs.map +7 -0
  27. package/dist/lib/browser/blueprints/index.mjs +8 -0
  28. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-2VIEX4RA.mjs +23 -0
  30. package/dist/lib/browser/chunk-2VIEX4RA.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-IWAEH25L.mjs +101 -0
  32. package/dist/lib/browser/chunk-IWAEH25L.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  34. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  35. package/dist/lib/browser/chunk-JYY5AD65.mjs +286 -0
  36. package/dist/lib/browser/chunk-JYY5AD65.mjs.map +7 -0
  37. package/dist/lib/browser/chunk-KR3KDUVF.mjs +2123 -0
  38. package/dist/lib/browser/chunk-KR3KDUVF.mjs.map +7 -0
  39. package/dist/lib/browser/chunk-MZWRGUND.mjs +253 -0
  40. package/dist/lib/browser/chunk-MZWRGUND.mjs.map +7 -0
  41. package/dist/lib/browser/chunk-ZZRRSIQQ.mjs +26 -0
  42. package/dist/lib/browser/chunk-ZZRRSIQQ.mjs.map +7 -0
  43. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs +21 -0
  44. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
  45. package/dist/lib/browser/index.mjs +307 -162
  46. package/dist/lib/browser/index.mjs.map +4 -4
  47. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs +20 -0
  48. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
  49. package/dist/lib/browser/markdown-QGCIPTMQ.mjs +155 -0
  50. package/dist/lib/browser/markdown-QGCIPTMQ.mjs.map +7 -0
  51. package/dist/lib/browser/meta.json +1 -1
  52. package/dist/lib/browser/operation-resolver-BNMDF2JV.mjs +153 -0
  53. package/dist/lib/browser/operation-resolver-BNMDF2JV.mjs.map +7 -0
  54. package/dist/lib/browser/react-surface-XPQLYF6H.mjs +150 -0
  55. package/dist/lib/browser/react-surface-XPQLYF6H.mjs.map +7 -0
  56. package/dist/lib/browser/settings-BVW4UWJL.mjs +33 -0
  57. package/dist/lib/browser/settings-BVW4UWJL.mjs.map +7 -0
  58. package/dist/lib/browser/state-TKE6OVOG.mjs +27 -0
  59. package/dist/lib/browser/state-TKE6OVOG.mjs.map +7 -0
  60. package/dist/lib/browser/toolkit-XRSBBB3L.mjs +16 -0
  61. package/dist/lib/browser/toolkit-XRSBBB3L.mjs.map +7 -0
  62. package/dist/lib/browser/types/index.mjs +11 -4
  63. package/dist/lib/node-esm/AssistantSettings-KYN2CIJJ.mjs +94 -0
  64. package/dist/lib/node-esm/AssistantSettings-KYN2CIJJ.mjs.map +7 -0
  65. package/dist/lib/node-esm/BlueprintArticle-DFTPXAYU.mjs +36 -0
  66. package/dist/lib/node-esm/BlueprintArticle-DFTPXAYU.mjs.map +7 -0
  67. package/dist/lib/node-esm/ChatCompanion-OJJVO44R.mjs +204 -0
  68. package/dist/lib/node-esm/ChatCompanion-OJJVO44R.mjs.map +7 -0
  69. package/dist/lib/node-esm/ChatContainer-RIVOAWFM.mjs +13 -0
  70. package/dist/lib/node-esm/ChatContainer-RIVOAWFM.mjs.map +7 -0
  71. package/dist/lib/node-esm/ChatDialog-IEZLH7T5.mjs +86 -0
  72. package/dist/lib/node-esm/ChatDialog-IEZLH7T5.mjs.map +7 -0
  73. package/dist/lib/node-esm/ProjectArticle-WVJI6IYZ.mjs +93 -0
  74. package/dist/lib/node-esm/ProjectArticle-WVJI6IYZ.mjs.map +7 -0
  75. package/dist/lib/node-esm/ProjectSettings-JQLRY6AS.mjs +118 -0
  76. package/dist/lib/node-esm/ProjectSettings-JQLRY6AS.mjs.map +7 -0
  77. package/dist/lib/node-esm/PromptArticle-HPCQDVFD.mjs +72 -0
  78. package/dist/lib/node-esm/PromptArticle-HPCQDVFD.mjs.map +7 -0
  79. package/dist/lib/node-esm/TracePanel-KAUU6OVE.mjs +229 -0
  80. package/dist/lib/node-esm/TracePanel-KAUU6OVE.mjs.map +7 -0
  81. package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs +113 -0
  82. package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs.map +7 -0
  83. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs +23 -0
  84. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
  85. package/dist/lib/node-esm/app-graph-builder-H24ZSWEY.mjs +245 -0
  86. package/dist/lib/node-esm/app-graph-builder-H24ZSWEY.mjs.map +7 -0
  87. package/dist/lib/node-esm/blueprint-definition-LWPM3FBG.mjs +38 -0
  88. package/dist/lib/node-esm/blueprint-definition-LWPM3FBG.mjs.map +7 -0
  89. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  90. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-5BLOZBHM.mjs +102 -0
  92. package/dist/lib/node-esm/chunk-5BLOZBHM.mjs.map +7 -0
  93. package/dist/lib/node-esm/chunk-AK3JJ76X.mjs +28 -0
  94. package/dist/lib/node-esm/chunk-AK3JJ76X.mjs.map +7 -0
  95. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  96. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  97. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs +288 -0
  98. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
  99. package/dist/lib/node-esm/chunk-QYHBAOBD.mjs +2124 -0
  100. package/dist/lib/node-esm/chunk-QYHBAOBD.mjs.map +7 -0
  101. package/dist/lib/node-esm/chunk-TEYTGR67.mjs +25 -0
  102. package/dist/lib/node-esm/chunk-TEYTGR67.mjs.map +7 -0
  103. package/dist/lib/node-esm/chunk-VSA3KDAW.mjs +254 -0
  104. package/dist/lib/node-esm/chunk-VSA3KDAW.mjs.map +7 -0
  105. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs +22 -0
  106. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
  107. package/dist/lib/node-esm/index.mjs +307 -162
  108. package/dist/lib/node-esm/index.mjs.map +4 -4
  109. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs +21 -0
  110. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
  111. package/dist/lib/node-esm/markdown-5FJCWKIE.mjs +156 -0
  112. package/dist/lib/node-esm/markdown-5FJCWKIE.mjs.map +7 -0
  113. package/dist/lib/node-esm/meta.json +1 -1
  114. package/dist/lib/node-esm/operation-resolver-TWGZ3ODO.mjs +154 -0
  115. package/dist/lib/node-esm/operation-resolver-TWGZ3ODO.mjs.map +7 -0
  116. package/dist/lib/node-esm/react-surface-6I6JOQBD.mjs +151 -0
  117. package/dist/lib/node-esm/react-surface-6I6JOQBD.mjs.map +7 -0
  118. package/dist/lib/node-esm/settings-5CL6CQFK.mjs +34 -0
  119. package/dist/lib/node-esm/settings-5CL6CQFK.mjs.map +7 -0
  120. package/dist/lib/node-esm/state-XBRFX5FL.mjs +28 -0
  121. package/dist/lib/node-esm/state-XBRFX5FL.mjs.map +7 -0
  122. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs +17 -0
  123. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs.map +7 -0
  124. package/dist/lib/node-esm/types/index.mjs +11 -4
  125. package/dist/types/src/AssistantPlugin.d.ts +2 -1
  126. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  127. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  128. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  129. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  130. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  131. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  132. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  133. package/dist/types/src/blueprints/index.d.ts +2 -0
  134. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +6 -0
  136. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
  138. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  140. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  142. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  144. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  146. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +7 -0
  148. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
  150. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/index.d.ts +11 -4
  152. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  153. package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
  154. package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +13 -0
  156. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/markdown/index.d.ts +3 -0
  158. package/dist/types/src/capabilities/markdown/index.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/markdown/markdown.d.ts +5 -0
  160. package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  162. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  163. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  164. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  165. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  166. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  167. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  168. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  169. package/dist/types/src/capabilities/settings/index.d.ts +15 -0
  170. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  171. package/dist/types/src/capabilities/settings/settings.d.ts +18 -0
  172. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  173. package/dist/types/src/capabilities/state/index.d.ts +17 -0
  174. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  175. package/dist/types/src/capabilities/state/state.d.ts +19 -0
  176. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  177. package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
  178. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
  179. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +6 -0
  180. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
  181. package/dist/types/src/components/Chat/Chat.d.ts +39 -22
  182. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  183. package/dist/types/src/components/Chat/events.d.ts +10 -1
  184. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  185. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
  186. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
  187. package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
  188. package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
  189. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  190. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
  191. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
  192. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  193. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -6
  194. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  195. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
  196. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  197. package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
  198. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  199. package/dist/types/src/components/ChatThread/ChatThread.d.ts +13 -11
  200. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  201. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +297 -71
  202. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  203. package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
  204. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
  205. package/dist/types/src/components/ChatThread/registry.d.ts +11 -0
  206. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  207. package/dist/types/src/components/ChatThread/sync.d.ts +42 -0
  208. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  209. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  210. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  211. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +3 -6
  212. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  213. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +443 -7
  214. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  215. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +13 -2
  216. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  217. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +440 -2
  218. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  219. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
  220. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  221. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  222. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  223. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  224. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  225. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +21 -0
  226. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  227. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  228. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  229. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  230. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  231. package/dist/types/src/components/Toolbox/Toolbox.d.ts +10 -16
  232. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  233. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +444 -5
  234. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  235. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
  236. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
  237. package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
  238. package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
  239. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
  240. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
  241. package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
  242. package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
  243. package/dist/types/src/components/Typewriter/index.d.ts +2 -0
  244. package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
  245. package/dist/types/src/components/index.d.ts +0 -8
  246. package/dist/types/src/components/index.d.ts.map +1 -1
  247. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts +8 -0
  248. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -0
  249. package/dist/types/src/containers/AssistantSettings/index.d.ts +3 -0
  250. package/dist/types/src/containers/AssistantSettings/index.d.ts.map +1 -0
  251. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  252. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  253. package/dist/types/src/containers/BlueprintArticle/index.d.ts +3 -0
  254. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  255. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +13 -0
  256. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  257. package/dist/types/src/containers/ChatCompanion/index.d.ts +3 -0
  258. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  259. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +19 -0
  260. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  261. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  262. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  263. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  264. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  265. package/dist/types/src/containers/ChatDialog/index.d.ts +3 -0
  266. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  267. package/dist/types/src/containers/Project/ProjectArticle.d.ts +7 -0
  268. package/dist/types/src/containers/Project/ProjectArticle.d.ts.map +1 -0
  269. package/dist/types/src/containers/Project/ProjectSettings.d.ts +6 -0
  270. package/dist/types/src/containers/Project/ProjectSettings.d.ts.map +1 -0
  271. package/dist/types/src/containers/Project/index.d.ts +7 -0
  272. package/dist/types/src/containers/Project/index.d.ts.map +1 -0
  273. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +6 -0
  274. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
  275. package/dist/types/src/containers/PromptArticle/index.d.ts +3 -0
  276. package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
  277. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +3 -0
  278. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  279. package/dist/types/src/containers/TracePanel/index.d.ts +3 -0
  280. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  281. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
  282. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  283. package/dist/types/src/containers/TriggerStatus/index.d.ts +3 -0
  284. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  285. package/dist/types/src/containers/index.d.ts +11 -0
  286. package/dist/types/src/containers/index.d.ts.map +1 -0
  287. package/dist/types/src/extensions/index.d.ts +2 -0
  288. package/dist/types/src/extensions/index.d.ts.map +1 -0
  289. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  290. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  291. package/dist/types/src/hooks/index.d.ts +8 -3
  292. package/dist/types/src/hooks/index.d.ts.map +1 -1
  293. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
  294. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
  295. package/dist/types/src/hooks/useChatProcessor.d.ts +10 -20
  296. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  297. package/dist/types/src/hooks/useChatServices.d.ts +7 -8
  298. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  299. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  300. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  301. package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
  302. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  303. package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
  304. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  305. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  306. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  307. package/dist/types/src/hooks/useFlush.d.ts +6 -0
  308. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  309. package/dist/types/src/hooks/useOnline.d.ts +3 -0
  310. package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
  311. package/dist/types/src/hooks/usePresets.d.ts +7 -0
  312. package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
  313. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  314. package/dist/types/src/index.d.ts +3 -1
  315. package/dist/types/src/index.d.ts.map +1 -1
  316. package/dist/types/src/meta.d.ts +3 -4
  317. package/dist/types/src/meta.d.ts.map +1 -1
  318. package/dist/types/src/processor/index.d.ts +4 -0
  319. package/dist/types/src/processor/index.d.ts.map +1 -0
  320. package/dist/types/src/{hooks → processor}/presets.d.ts +3 -3
  321. package/dist/types/src/processor/presets.d.ts.map +1 -0
  322. package/dist/types/src/processor/processor.d.ts +79 -0
  323. package/dist/types/src/processor/processor.d.ts.map +1 -0
  324. package/dist/types/src/processor/processor.test.d.ts +2 -0
  325. package/dist/types/src/processor/processor.test.d.ts.map +1 -0
  326. package/dist/types/src/processor/update-name.d.ts +10 -0
  327. package/dist/types/src/processor/update-name.d.ts.map +1 -0
  328. package/dist/types/src/queue-logger.d.ts.map +1 -1
  329. package/dist/types/src/testing/index.d.ts +1 -1
  330. package/dist/types/src/testing/index.d.ts.map +1 -1
  331. package/dist/types/src/testing/test-generator.d.ts +8 -0
  332. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  333. package/dist/types/src/testing/test-sequence.d.ts +0 -4
  334. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  335. package/dist/types/src/testing/test-services.d.ts +2 -2
  336. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  337. package/dist/types/src/translations.d.ts +388 -37
  338. package/dist/types/src/translations.d.ts.map +1 -1
  339. package/dist/types/src/types/Assistant.d.ts +20 -0
  340. package/dist/types/src/types/Assistant.d.ts.map +1 -0
  341. package/dist/types/src/types/AssistantAction.d.ts +115 -0
  342. package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
  343. package/dist/types/src/types/capabilities.d.ts +41 -0
  344. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  345. package/dist/types/src/types/defs.d.ts +2 -0
  346. package/dist/types/src/types/defs.d.ts.map +1 -0
  347. package/dist/types/src/types/events.d.ts +5 -0
  348. package/dist/types/src/types/events.d.ts.map +1 -0
  349. package/dist/types/src/types/index.d.ts +6 -1
  350. package/dist/types/src/types/index.d.ts.map +1 -1
  351. package/dist/types/src/types/service.d.ts +14 -213
  352. package/dist/types/src/types/service.d.ts.map +1 -1
  353. package/dist/types/tsconfig.tsbuildinfo +1 -1
  354. package/package.json +125 -96
  355. package/src/AssistantPlugin.tsx +163 -88
  356. package/src/blueprints/assistant/blueprint.conversations.json +1 -0
  357. package/src/blueprints/assistant/blueprint.test.ts +48 -0
  358. package/src/blueprints/assistant/blueprint.ts +27 -0
  359. package/src/blueprints/assistant/index.ts +5 -0
  360. package/src/{components/SequenceEditor → blueprints}/index.ts +1 -1
  361. package/src/capabilities/ai-service/ai-service.ts +30 -0
  362. package/src/capabilities/ai-service/index.ts +7 -0
  363. package/src/capabilities/app-graph-builder/app-graph-builder.ts +216 -0
  364. package/src/capabilities/app-graph-builder/index.ts +7 -0
  365. package/src/capabilities/blueprint-definition/blueprint-definition.ts +54 -0
  366. package/src/capabilities/blueprint-definition/index.ts +7 -0
  367. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +33 -0
  368. package/src/capabilities/edge-model-resolver/index.ts +7 -0
  369. package/src/capabilities/index.ts +11 -6
  370. package/src/capabilities/local-model-resolver/index.ts +7 -0
  371. package/src/capabilities/local-model-resolver/local-model-resolver.ts +38 -0
  372. package/src/capabilities/markdown/index.ts +7 -0
  373. package/src/capabilities/markdown/markdown.ts +39 -0
  374. package/src/capabilities/operation-resolver/index.ts +7 -0
  375. package/src/capabilities/operation-resolver/operation-resolver.ts +137 -0
  376. package/src/capabilities/react-surface/index.ts +7 -0
  377. package/src/capabilities/react-surface/react-surface.tsx +133 -0
  378. package/src/capabilities/settings/index.ts +7 -0
  379. package/src/capabilities/settings/settings.ts +31 -0
  380. package/src/capabilities/state/index.ts +7 -0
  381. package/src/capabilities/state/state.ts +28 -0
  382. package/src/capabilities/toolkit/index.ts +7 -0
  383. package/src/capabilities/toolkit/toolkit.ts +15 -0
  384. package/src/components/Chat/Chat.tsx +274 -198
  385. package/src/components/Chat/events.ts +14 -1
  386. package/src/components/ChatProgress/ChatProgress.tsx +53 -0
  387. package/src/components/ChatProgress/index.ts +5 -0
  388. package/src/components/ChatPrompt/ChatActions.tsx +20 -28
  389. package/src/components/ChatPrompt/ChatOptions.tsx +258 -0
  390. package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
  391. package/src/components/ChatPrompt/ChatReferences.tsx +42 -38
  392. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
  393. package/src/components/ChatPrompt/index.ts +1 -1
  394. package/src/components/ChatThread/ChatThread.stories.tsx +123 -116
  395. package/src/components/ChatThread/ChatThread.tsx +75 -36
  396. package/src/components/ChatThread/Link.tsx +26 -0
  397. package/src/components/ChatThread/registry.tsx +207 -0
  398. package/src/components/ChatThread/sync.test.ts +99 -0
  399. package/src/components/ChatThread/sync.ts +160 -0
  400. package/src/components/ChatThread/testing/thread.md +37 -0
  401. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +37 -20
  402. package/src/components/TemplateEditor/TemplateEditor.tsx +33 -52
  403. package/src/components/TemplateEditor/TemplateForm.stories.tsx +30 -17
  404. package/src/components/TemplateEditor/TemplateForm.tsx +85 -36
  405. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  406. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  407. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  408. package/src/components/ToolBlock/ToolBlock.tsx +143 -0
  409. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  410. package/src/components/ToolBlock/index.ts +6 -0
  411. package/src/components/Toolbox/Toolbox.stories.tsx +19 -29
  412. package/src/components/Toolbox/Toolbox.tsx +74 -104
  413. package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
  414. package/src/components/Typewriter/Typewriter.stories.tsx +86 -0
  415. package/src/components/Typewriter/Typewriter.tsx +54 -0
  416. package/src/components/Typewriter/assistant-extension.tsx +142 -0
  417. package/src/components/Typewriter/index.ts +5 -0
  418. package/src/components/index.ts +0 -13
  419. package/src/containers/AssistantSettings/AssistantSettings.tsx +120 -0
  420. package/src/containers/AssistantSettings/index.ts +7 -0
  421. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  422. package/src/containers/BlueprintArticle/index.ts +7 -0
  423. package/src/containers/ChatCompanion/ChatCompanion.tsx +227 -0
  424. package/src/containers/ChatCompanion/index.ts +7 -0
  425. package/src/containers/ChatContainer/ChatContainer.tsx +92 -0
  426. package/src/containers/ChatContainer/index.ts +7 -0
  427. package/src/containers/ChatDialog/ChatDialog.tsx +72 -0
  428. package/src/containers/ChatDialog/index.ts +7 -0
  429. package/src/containers/Project/ProjectArticle.tsx +124 -0
  430. package/src/containers/Project/ProjectSettings.tsx +135 -0
  431. package/src/containers/Project/index.ts +16 -0
  432. package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
  433. package/src/containers/PromptArticle/index.ts +7 -0
  434. package/src/containers/TracePanel/TracePanel.tsx +260 -0
  435. package/src/containers/TracePanel/index.ts +7 -0
  436. package/src/containers/TriggerStatus/TriggerStatus.tsx +140 -0
  437. package/src/containers/TriggerStatus/index.ts +7 -0
  438. package/src/containers/index.ts +16 -0
  439. package/src/extensions/index.ts +5 -0
  440. package/src/extensions/prompt-extension.ts +142 -0
  441. package/src/hooks/index.ts +8 -4
  442. package/src/hooks/useBlueprintRegistry.ts +109 -0
  443. package/src/hooks/useChatProcessor.ts +40 -105
  444. package/src/hooks/useChatServices.ts +31 -75
  445. package/src/hooks/useChatToolbarActions.ts +122 -0
  446. package/src/hooks/useContextBinder.ts +32 -0
  447. package/src/hooks/useContextObjects.ts +50 -0
  448. package/src/hooks/useFilteredTypes.ts +37 -0
  449. package/src/hooks/useFlush.ts +35 -0
  450. package/src/hooks/useOnline.ts +10 -0
  451. package/src/hooks/usePresets.ts +44 -0
  452. package/src/hooks/useReferencesProvider.ts +12 -13
  453. package/src/index.ts +3 -1
  454. package/src/meta.ts +11 -8
  455. package/src/processor/index.ts +7 -0
  456. package/src/{hooks → processor}/presets.ts +16 -8
  457. package/src/processor/processor.test.ts +73 -0
  458. package/src/processor/processor.ts +296 -0
  459. package/src/processor/update-name.ts +58 -0
  460. package/src/queue-logger.ts +17 -18
  461. package/src/testing/index.ts +1 -1
  462. package/src/testing/test-generator.ts +262 -0
  463. package/src/testing/test-sequence.ts +5 -30
  464. package/src/testing/test-services.ts +10 -14
  465. package/src/translations.ts +77 -28
  466. package/src/types/Assistant.ts +28 -0
  467. package/src/types/AssistantAction.ts +90 -0
  468. package/src/types/capabilities.ts +29 -0
  469. package/src/types/defs.ts +5 -0
  470. package/src/types/events.ts +11 -0
  471. package/src/types/index.ts +9 -1
  472. package/src/types/service.ts +27 -16
  473. package/src/vite-env.d.ts +30 -0
  474. package/dist/lib/browser/ChatContainer-M3IHQLRS.mjs +0 -54
  475. package/dist/lib/browser/ChatContainer-M3IHQLRS.mjs.map +0 -7
  476. package/dist/lib/browser/ChatDialog-X6VN6QZI.mjs +0 -72
  477. package/dist/lib/browser/ChatDialog-X6VN6QZI.mjs.map +0 -7
  478. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs +0 -162
  479. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
  480. package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs +0 -27
  481. package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs.map +0 -7
  482. package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs +0 -223
  483. package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs.map +0 -7
  484. package/dist/lib/browser/chunk-AEAEKWOC.mjs +0 -98
  485. package/dist/lib/browser/chunk-AEAEKWOC.mjs.map +0 -7
  486. package/dist/lib/browser/chunk-EQDW6BYQ.mjs +0 -108
  487. package/dist/lib/browser/chunk-EQDW6BYQ.mjs.map +0 -7
  488. package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
  489. package/dist/lib/browser/chunk-FDCJSQYF.mjs.map +0 -7
  490. package/dist/lib/browser/chunk-JQBVLTM5.mjs +0 -158
  491. package/dist/lib/browser/chunk-JQBVLTM5.mjs.map +0 -7
  492. package/dist/lib/browser/chunk-OWY4CUQY.mjs +0 -2245
  493. package/dist/lib/browser/chunk-OWY4CUQY.mjs.map +0 -7
  494. package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs +0 -60
  495. package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs.map +0 -7
  496. package/dist/lib/browser/react-surface-66VY37YQ.mjs +0 -150
  497. package/dist/lib/browser/react-surface-66VY37YQ.mjs.map +0 -7
  498. package/dist/lib/browser/settings-2DGP3UTS.mjs +0 -22
  499. package/dist/lib/browser/settings-2DGP3UTS.mjs.map +0 -7
  500. package/dist/lib/node-esm/ChatContainer-VZT74PO2.mjs +0 -55
  501. package/dist/lib/node-esm/ChatContainer-VZT74PO2.mjs.map +0 -7
  502. package/dist/lib/node-esm/ChatDialog-RJ6FDX4Q.mjs +0 -73
  503. package/dist/lib/node-esm/ChatDialog-RJ6FDX4Q.mjs.map +0 -7
  504. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs +0 -163
  505. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
  506. package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs +0 -28
  507. package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs.map +0 -7
  508. package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs +0 -224
  509. package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs.map +0 -7
  510. package/dist/lib/node-esm/chunk-2XL6MNPE.mjs +0 -99
  511. package/dist/lib/node-esm/chunk-2XL6MNPE.mjs.map +0 -7
  512. package/dist/lib/node-esm/chunk-BISJDTBK.mjs +0 -159
  513. package/dist/lib/node-esm/chunk-BISJDTBK.mjs.map +0 -7
  514. package/dist/lib/node-esm/chunk-E33DNNDW.mjs +0 -109
  515. package/dist/lib/node-esm/chunk-E33DNNDW.mjs.map +0 -7
  516. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
  517. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs.map +0 -7
  518. package/dist/lib/node-esm/chunk-SENTQAEO.mjs +0 -2246
  519. package/dist/lib/node-esm/chunk-SENTQAEO.mjs.map +0 -7
  520. package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs +0 -61
  521. package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs.map +0 -7
  522. package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs +0 -151
  523. package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs.map +0 -7
  524. package/dist/lib/node-esm/settings-47RYZOU4.mjs +0 -23
  525. package/dist/lib/node-esm/settings-47RYZOU4.mjs.map +0 -7
  526. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  527. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  528. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  529. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  530. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  531. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  532. package/dist/types/src/capabilities/settings.d.ts +0 -4
  533. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  534. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +0 -6
  535. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +0 -1
  536. package/dist/types/src/components/AssistantSettings/index.d.ts +0 -2
  537. package/dist/types/src/components/AssistantSettings/index.d.ts.map +0 -1
  538. package/dist/types/src/components/ChatContainer.d.ts +0 -11
  539. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  540. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  541. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
  542. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
  543. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -17
  544. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
  545. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
  546. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
  547. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  548. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  549. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  550. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  551. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  552. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  553. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  554. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  555. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
  556. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  557. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  558. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  559. package/dist/types/src/components/TemplateContainer.d.ts +0 -8
  560. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  561. package/dist/types/src/events.d.ts +0 -4
  562. package/dist/types/src/events.d.ts.map +0 -1
  563. package/dist/types/src/hooks/chat-processor.d.ts +0 -86
  564. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  565. package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
  566. package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
  567. package/dist/types/src/hooks/presets.d.ts.map +0 -1
  568. package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
  569. package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
  570. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  571. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  572. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  573. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  574. package/dist/types/src/parser/index.d.ts +0 -4
  575. package/dist/types/src/parser/index.d.ts.map +0 -1
  576. package/dist/types/src/parser/query-parser.d.ts +0 -15
  577. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  578. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  579. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  580. package/dist/types/src/parser/types.d.ts +0 -24
  581. package/dist/types/src/parser/types.d.ts.map +0 -1
  582. package/dist/types/src/stories/Chat.stories.d.ts +0 -249
  583. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  584. package/dist/types/src/testing/test-functions.d.ts +0 -3
  585. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  586. package/dist/types/src/tools/function.d.ts +0 -5
  587. package/dist/types/src/tools/function.d.ts.map +0 -1
  588. package/dist/types/src/tools/index.d.ts +0 -3
  589. package/dist/types/src/tools/index.d.ts.map +0 -1
  590. package/dist/types/src/tools/openapi.d.ts +0 -10
  591. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  592. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  593. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  594. package/dist/types/src/types/schema.d.ts +0 -88
  595. package/dist/types/src/types/schema.d.ts.map +0 -1
  596. package/src/capabilities/app-graph-builder.ts +0 -253
  597. package/src/capabilities/intent-resolver.ts +0 -58
  598. package/src/capabilities/react-surface.tsx +0 -138
  599. package/src/capabilities/settings.ts +0 -19
  600. package/src/components/AssistantSettings/AssistantSettings.tsx +0 -105
  601. package/src/components/AssistantSettings/index.ts +0 -5
  602. package/src/components/ChatContainer.tsx +0 -45
  603. package/src/components/ChatDialog.tsx +0 -64
  604. package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
  605. package/src/components/ChatThread/ChatMessage.tsx +0 -268
  606. package/src/components/ChatThread/ToolBlock.tsx +0 -121
  607. package/src/components/ChatThread/reducer.ts +0 -52
  608. package/src/components/PromptSettings.tsx +0 -89
  609. package/src/components/SequenceContainer.tsx +0 -132
  610. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -32
  611. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  612. package/src/components/TemplateContainer.tsx +0 -24
  613. package/src/events.ts +0 -11
  614. package/src/hooks/chat-processor.test.ts +0 -16
  615. package/src/hooks/chat-processor.ts +0 -314
  616. package/src/hooks/useBlueprints.ts +0 -57
  617. package/src/parser/filter-generator.test.ts +0 -32
  618. package/src/parser/filter-generator.ts +0 -81
  619. package/src/parser/index.ts +0 -7
  620. package/src/parser/query-parser.test.ts +0 -139
  621. package/src/parser/query-parser.ts +0 -199
  622. package/src/parser/types.ts +0 -34
  623. package/src/shims.d.ts +0 -8
  624. package/src/stories/Chat.stories.tsx +0 -378
  625. package/src/testing/test-functions.ts +0 -11
  626. package/src/tools/function.ts +0 -46
  627. package/src/tools/index.ts +0 -6
  628. package/src/tools/openapi.test.ts +0 -217
  629. package/src/tools/openapi.ts +0 -338
  630. package/src/types/schema.ts +0 -95
  631. package/src/typings.d.ts +0 -9
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/Project/ProjectArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport React, { forwardRef, useMemo, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps, useObjectMenuItems } from '@dxos/app-toolkit/ui';\nimport { type Project } from '@dxos/assistant-toolkit';\nimport { Annotation, Filter, Obj, Query } from '@dxos/echo';\nimport { AtomObj, AtomRef } from '@dxos/echo-atom';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Card, Panel, ScrollArea, Toolbar } from '@dxos/react-ui';\nimport { Menu } from '@dxos/react-ui-menu';\nimport { Focus, Mosaic, type MosaicTileProps } from '@dxos/react-ui-mosaic';\nimport { isNonNullable } from '@dxos/util';\n\nexport type ProjectArticleProps = SurfaceComponentProps<Project.Project>;\n\nexport const ProjectArticle = ({ subject: project }: ProjectArticleProps) => {\n const inputQueue = useAtomValue(\n AtomObj.make(project).pipe((_) =>\n Atom.make((get) =>\n Option.fromNullable(get(_).queue).pipe(Option.map(AtomRef.make), Option.map(get), Option.getOrUndefined),\n ),\n ),\n );\n\n const inputQueueItems: Obj.Unknown[] = useQuery(inputQueue, Query.select(Filter.everything()));\n\n const artifacts = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(project).pipe((project) =>\n Atom.make((get) => {\n return get(project).artifacts.map((artifact) => get(AtomRef.make(artifact.data)) as Obj.Unknown);\n }),\n ),\n [project],\n ),\n );\n\n const [viewport, setViewport] = useState<HTMLElement | null>(null);\n\n const stackObjects = [...artifacts, ...inputQueueItems].filter(isNonNullable);\n\n return (\n <Panel.Root className='dx-document'>\n <Panel.Content>\n {/* TODO(burdon): Factor out. */}\n {stackObjects.length === 0 && (\n <div className='text-subdued'>\n Project has no objects associated with it.\n <br />\n <br />\n To get started:\n <br />- Write the initative spec: what is the goal of the project?\n <br />- subscribe project to your email.\n <br />- Chat with the agent.\n </div>\n )}\n\n {stackObjects.length > 0 && (\n <Focus.Group asChild>\n <Mosaic.Container asChild withFocus autoScroll={viewport}>\n <ScrollArea.Root orientation='vertical'>\n <ScrollArea.Viewport classNames='p-2' ref={setViewport}>\n <Mosaic.Stack items={stackObjects} getId={(item) => item.id} draggable={false} Tile={StackTile} />\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n </Mosaic.Container>\n </Focus.Group>\n )}\n </Panel.Content>\n </Panel.Root>\n );\n};\n\nconst StackTile = forwardRef<HTMLDivElement, MosaicTileProps<Obj.Unknown>>(\n ({ data, location, debug }, forwardedRef) => {\n const objectMenuItems = useObjectMenuItems(data);\n const icon = Function.pipe(\n Obj.getSchema(data),\n Option.fromNullable,\n Option.flatMap(Annotation.IconAnnotation.get),\n Option.map(({ icon }) => icon),\n Option.getOrElse(() => 'ph--placeholder--regular'),\n );\n\n return (\n <Mosaic.Tile asChild id={data.id} data={data} location={location} debug={debug}>\n <Focus.Group asChild>\n <Menu.Root>\n <Card.Root ref={forwardedRef} data-testid='board-item'>\n <Card.Toolbar>\n <Card.Icon icon={icon} />\n <Card.Title>{Obj.getLabel(data)}</Card.Title>\n {/* TODO(wittjosiah): Reconcile with Card.Menu. */}\n <Menu.Trigger asChild disabled={!objectMenuItems?.length}>\n <Toolbar.IconButton\n iconOnly\n variant='ghost'\n icon='ph--dots-three-vertical--regular'\n label='Actions'\n />\n </Menu.Trigger>\n <Menu.Content items={objectMenuItems} />\n </Card.Toolbar>\n <Card.Content>\n <Surface.Surface role='card--content' limit={1} data={{ subject: data }} />\n </Card.Content>\n </Card.Root>\n </Menu.Root>\n </Focus.Group>\n </Mosaic.Tile>\n );\n },\n);\nStackTile.displayName = 'StackTile';\n\nexport default ProjectArticle;\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "useAtomValue", "Function", "Option", "React", "forwardRef", "useMemo", "useState", "Surface", "useObjectMenuItems", "Annotation", "Filter", "Obj", "Query", "AtomObj", "AtomRef", "useQuery", "Card", "Panel", "ScrollArea", "Toolbar", "Menu", "Focus", "Mosaic", "isNonNullable", "ProjectArticle", "subject", "project", "inputQueue", "useAtomValue", "AtomObj", "make", "pipe", "_", "Atom", "get", "fromNullable", "queue", "map", "AtomRef", "getOrUndefined", "inputQueueItems", "useQuery", "Query", "select", "Filter", "everything", "artifacts", "useMemo", "artifact", "data", "viewport", "setViewport", "useState", "stackObjects", "filter", "isNonNullable", "Panel", "Root", "className", "Content", "length", "div", "br", "Focus", "Group", "asChild", "Mosaic", "Container", "withFocus", "autoScroll", "ScrollArea", "orientation", "Viewport", "classNames", "ref", "Stack", "items", "getId", "item", "id", "draggable", "Tile", "StackTile", "forwardRef", "location", "debug", "forwardedRef", "objectMenuItems", "useObjectMenuItems", "icon", "Obj", "getSchema", "flatMap", "Annotation", "IconAnnotation", "getOrElse", "Menu", "Card", "data-testid", "Toolbar", "Icon", "Title", "getLabel", "Trigger", "disabled", "IconButton", "iconOnly", "variant", "label", "Surface", "role", "limit", "displayName"]
7
+ }
@@ -0,0 +1,117 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/Project/ProjectSettings.tsx
4
+ import { Atom } from "@effect-atom/atom";
5
+ import { useAtomValue } from "@effect-atom/atom-react";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Option from "effect/Option";
8
+ import React, { useCallback, useEffect, useMemo } from "react";
9
+ import { useCapability } from "@dxos/app-framework/ui";
10
+ import { Project, syncProjectTriggers } from "@dxos/assistant-toolkit";
11
+ import { DXN, Obj, Ref } from "@dxos/echo";
12
+ import { AtomObj, AtomRef } from "@dxos/echo-atom";
13
+ import { QueueService } from "@dxos/functions";
14
+ import { AutomationCapabilities } from "@dxos/plugin-automation/types";
15
+ import { MarkdownEditor } from "@dxos/plugin-markdown";
16
+ import { Filter, useQuery } from "@dxos/react-client/echo";
17
+ import { useObject } from "@dxos/react-client/echo";
18
+ import { Button } from "@dxos/react-ui";
19
+ import { ButtonGroup, Input } from "@dxos/react-ui";
20
+ import { FeedAnnotation } from "@dxos/schema";
21
+ var ProjectSettings = ({ subject: project }) => {
22
+ const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
23
+ const handleResetHistory = useCallback(async () => {
24
+ const runtime = computeRuntime.getRuntime(Obj.getDatabase(project).spaceId);
25
+ await runtime.runPromise(Project.resetChatHistory(project));
26
+ if (!project.queue) {
27
+ await runtime.runPromise(Effect.gen(function* () {
28
+ const queue = yield* QueueService.createQueue();
29
+ Obj.change(project, (project2) => {
30
+ project2.queue = Ref.fromDXN(queue.dxn);
31
+ });
32
+ }));
33
+ }
34
+ }, [
35
+ project,
36
+ computeRuntime
37
+ ]);
38
+ const spec = useAtomValue(AtomRef.make(project.spec));
39
+ const [specInitialValue] = useObject(spec, "content");
40
+ useEffect(() => {
41
+ const db2 = Obj.getDatabase(project);
42
+ if (!db2) return;
43
+ const runtime = computeRuntime.getRuntime(db2.spaceId);
44
+ return Obj.subscribe(project, () => {
45
+ queueMicrotask(() => runtime.runPromise(syncProjectTriggers(project)));
46
+ });
47
+ }, [
48
+ project,
49
+ computeRuntime
50
+ ]);
51
+ const db = Obj.getDatabase(project);
52
+ const feedFilter = useMemo(() => {
53
+ if (!db) {
54
+ return Filter.nothing();
55
+ }
56
+ const schemas = db.schemaRegistry.query({
57
+ location: [
58
+ "database",
59
+ "runtime"
60
+ ]
61
+ }).runSync();
62
+ const feedSchemas = schemas.filter((schema) => {
63
+ const annotation = FeedAnnotation.get(schema);
64
+ return Option.isSome(annotation) && annotation.value === true;
65
+ });
66
+ if (feedSchemas.length === 0) {
67
+ return Filter.nothing();
68
+ }
69
+ return Filter.or(...feedSchemas.map((schema) => Filter.type(schema)));
70
+ }, [
71
+ db
72
+ ]);
73
+ const subscribableObjects = useQuery(db, feedFilter);
74
+ const existingSubscripts = useAtomValue(useMemo(() => AtomObj.make(project).pipe((_) => Atom.make((get) => {
75
+ const project2 = get(_);
76
+ const selectedSubscriptions = subscribableObjects.filter((object) => project2.subscriptions.some((subscription) => DXN.equals(subscription.dxn, Obj.getDXN(object))));
77
+ return selectedSubscriptions;
78
+ })), [
79
+ project,
80
+ subscribableObjects
81
+ ]));
82
+ return /* @__PURE__ */ React.createElement("div", {
83
+ className: "flex flex-col gap-4"
84
+ }, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, "Spec (what is the goal of the project?)"), /* @__PURE__ */ React.createElement(MarkdownEditor.Root, {
85
+ id: spec?.id ?? "",
86
+ object: spec
87
+ }, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
88
+ initialValue: specInitialValue
89
+ }))), /* @__PURE__ */ React.createElement(ButtonGroup, {
90
+ classNames: "h-10"
91
+ }, /* @__PURE__ */ React.createElement(Button, {
92
+ onClick: handleResetHistory
93
+ }, "Reset Chat History")), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", {
94
+ className: "text-lg font-bold"
95
+ }, "Subscriptions"), subscribableObjects.length > 0 && /* @__PURE__ */ React.createElement("div", null, subscribableObjects.map((object) => /* @__PURE__ */ React.createElement(Input.Root, {
96
+ key: object.id
97
+ }, /* @__PURE__ */ React.createElement(Input.Checkbox, {
98
+ checked: existingSubscripts.includes(object),
99
+ onCheckedChange: (checked) => {
100
+ Obj.change(project, (project2) => {
101
+ if (checked) {
102
+ project2.subscriptions.push(Ref.fromDXN(Obj.getDXN(object)));
103
+ } else {
104
+ project2.subscriptions = project2.subscriptions.filter((subscription) => !DXN.equals(subscription.dxn, Obj.getDXN(object)));
105
+ }
106
+ });
107
+ }
108
+ }), /* @__PURE__ */ React.createElement(Input.Label, null, Obj.getLabel(object))))), subscribableObjects.length === 0 && /* @__PURE__ */ React.createElement("div", {
109
+ className: "text-sm text-description"
110
+ }, "Space has no feeds to subscribe to.")));
111
+ };
112
+ var ProjectSettings_default = ProjectSettings;
113
+ export {
114
+ ProjectSettings,
115
+ ProjectSettings_default as default
116
+ };
117
+ //# sourceMappingURL=ProjectSettings-DDYTUL25.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/Project/ProjectSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport React, { useCallback, useEffect, useMemo } from 'react';\n\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Project, syncProjectTriggers } from '@dxos/assistant-toolkit';\nimport { DXN, Obj, Ref } from '@dxos/echo';\nimport { AtomObj, AtomRef } from '@dxos/echo-atom';\nimport { QueueService } from '@dxos/functions';\nimport { AutomationCapabilities } from '@dxos/plugin-automation/types';\nimport { MarkdownEditor } from '@dxos/plugin-markdown';\nimport { Filter, useQuery } from '@dxos/react-client/echo';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Button } from '@dxos/react-ui';\nimport { ButtonGroup, Input } from '@dxos/react-ui';\nimport { FeedAnnotation } from '@dxos/schema';\n\nexport const ProjectSettings = ({ subject: project }: SurfaceComponentProps<Project.Project>) => {\n const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);\n\n const handleResetHistory = useCallback(async () => {\n const runtime = computeRuntime.getRuntime(Obj.getDatabase(project)!.spaceId);\n\n await runtime.runPromise(Project.resetChatHistory(project));\n\n if (!project.queue) {\n await runtime.runPromise(\n Effect.gen(function* () {\n const queue = yield* QueueService.createQueue();\n Obj.change(project, (project) => {\n project.queue = Ref.fromDXN(queue.dxn);\n });\n }),\n );\n }\n }, [project, computeRuntime]);\n\n const spec = useAtomValue(AtomRef.make(project.spec));\n const [specInitialValue] = useObject(spec, 'content');\n\n useEffect(() => {\n const db = Obj.getDatabase(project);\n if (!db) return;\n const runtime = computeRuntime.getRuntime(db.spaceId);\n return Obj.subscribe(project, () => {\n queueMicrotask(() => runtime.runPromise(syncProjectTriggers(project)));\n });\n }, [project, computeRuntime]);\n\n const db = Obj.getDatabase(project);\n const feedFilter = useMemo(() => {\n if (!db) {\n return Filter.nothing();\n }\n const schemas = db.schemaRegistry.query({ location: ['database', 'runtime'] }).runSync();\n const feedSchemas = schemas.filter((schema) => {\n const annotation = FeedAnnotation.get(schema);\n return Option.isSome(annotation) && annotation.value === true;\n });\n if (feedSchemas.length === 0) {\n return Filter.nothing();\n }\n return Filter.or(...feedSchemas.map((schema) => Filter.type(schema)));\n }, [db]);\n const subscribableObjects = useQuery(db, feedFilter);\n\n const existingSubscripts = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(project).pipe((_) =>\n Atom.make((get) => {\n const project = get(_);\n const selectedSubscriptions: Obj.Unknown[] = subscribableObjects.filter((object) =>\n project.subscriptions.some((subscription) => DXN.equals(subscription.dxn, Obj.getDXN(object))),\n );\n\n return selectedSubscriptions;\n }),\n ),\n [project, subscribableObjects],\n ),\n );\n\n return (\n <div className='flex flex-col gap-4'>\n <Input.Root>\n <Input.Label>Spec (what is the goal of the project?)</Input.Label>\n <MarkdownEditor.Root id={spec?.id ?? ''} object={spec}>\n <MarkdownEditor.Content initialValue={specInitialValue} />\n </MarkdownEditor.Root>\n </Input.Root>\n <ButtonGroup classNames='h-10'>\n <Button onClick={handleResetHistory}>Reset Chat History</Button>\n </ButtonGroup>\n <div>\n <h2 className='text-lg font-bold'>Subscriptions</h2>\n {subscribableObjects.length > 0 && (\n <div>\n {subscribableObjects.map((object) => (\n <Input.Root key={object.id}>\n <Input.Checkbox\n checked={existingSubscripts.includes(object)}\n onCheckedChange={(checked) => {\n Obj.change(project, (project) => {\n if (checked) {\n project.subscriptions.push(Ref.fromDXN(Obj.getDXN(object)));\n } else {\n project.subscriptions = project.subscriptions.filter(\n (subscription) => !DXN.equals(subscription.dxn, Obj.getDXN(object)),\n );\n }\n });\n }}\n />\n <Input.Label>{Obj.getLabel(object)}</Input.Label>\n </Input.Root>\n ))}\n </div>\n )}\n {subscribableObjects.length === 0 && (\n <div className='text-sm text-description'>Space has no feeds to subscribe to.</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProjectSettings;\n"],
5
+ "mappings": "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",
6
+ "names": ["Atom", "useAtomValue", "Effect", "Option", "React", "useCallback", "useEffect", "useMemo", "useCapability", "Project", "syncProjectTriggers", "DXN", "Obj", "Ref", "AtomObj", "AtomRef", "QueueService", "AutomationCapabilities", "MarkdownEditor", "Filter", "useQuery", "useObject", "Button", "ButtonGroup", "Input", "FeedAnnotation", "ProjectSettings", "subject", "project", "computeRuntime", "useCapability", "AutomationCapabilities", "ComputeRuntime", "handleResetHistory", "useCallback", "runtime", "getRuntime", "Obj", "getDatabase", "spaceId", "runPromise", "Project", "resetChatHistory", "queue", "gen", "QueueService", "createQueue", "change", "Ref", "fromDXN", "dxn", "spec", "useAtomValue", "AtomRef", "make", "specInitialValue", "useObject", "useEffect", "db", "subscribe", "queueMicrotask", "syncProjectTriggers", "feedFilter", "useMemo", "Filter", "nothing", "schemas", "schemaRegistry", "query", "location", "runSync", "feedSchemas", "filter", "schema", "annotation", "FeedAnnotation", "get", "isSome", "value", "length", "or", "map", "type", "subscribableObjects", "useQuery", "existingSubscripts", "AtomObj", "pipe", "_", "Atom", "selectedSubscriptions", "object", "subscriptions", "some", "subscription", "DXN", "equals", "getDXN", "div", "className", "Input", "Root", "Label", "MarkdownEditor", "id", "Content", "initialValue", "ButtonGroup", "classNames", "Button", "onClick", "h2", "key", "Checkbox", "checked", "includes", "onCheckedChange", "push", "getLabel"]
7
+ }
@@ -0,0 +1,71 @@
1
+ import {
2
+ TemplateEditor
3
+ } from "./chunk-KR3KDUVF.mjs";
4
+ import "./chunk-JYY5AD65.mjs";
5
+ import "./chunk-MZWRGUND.mjs";
6
+ import {
7
+ meta
8
+ } from "./chunk-2VIEX4RA.mjs";
9
+ import "./chunk-J5LGTIGS.mjs";
10
+
11
+ // src/containers/PromptArticle/PromptArticle.tsx
12
+ import React, { useMemo } from "react";
13
+ import { AgentFunctions } from "@dxos/assistant-toolkit";
14
+ import { Obj } from "@dxos/echo";
15
+ import { invariant } from "@dxos/invariant";
16
+ import { invokeFunctionWithTracing, useComputeRuntimeCallback } from "@dxos/plugin-automation";
17
+ import { Panel, Toolbar, useTranslation } from "@dxos/react-ui";
18
+ import { useAttention } from "@dxos/react-ui-attention";
19
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/containers/PromptArticle/PromptArticle.tsx";
20
+ var PromptArticle = ({ role, attendableId, subject }) => {
21
+ const { t } = useTranslation(meta.id);
22
+ const { hasAttention } = useAttention(attendableId);
23
+ const db = Obj.getDatabase(subject);
24
+ const inputData = useMemo(() => subject && db ? {
25
+ prompt: db.makeRef(Obj.getDXN(subject)),
26
+ input: {}
27
+ } : void 0, [
28
+ subject,
29
+ db
30
+ ]);
31
+ const handleRun = useComputeRuntimeCallback(db?.spaceId, () => {
32
+ invariant(inputData, void 0, {
33
+ F: __dxlog_file,
34
+ L: 41,
35
+ S: void 0,
36
+ A: [
37
+ "inputData",
38
+ ""
39
+ ]
40
+ });
41
+ return invokeFunctionWithTracing(AgentFunctions.Prompt, inputData);
42
+ }, [
43
+ inputData
44
+ ]);
45
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
46
+ role,
47
+ className: "dx-document"
48
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
49
+ asChild: true
50
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, {
51
+ disabled: !hasAttention,
52
+ onClick: handleRun
53
+ }, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
54
+ iconOnly: true,
55
+ icon: "ph--play--regular",
56
+ label: t("run prompt label"),
57
+ onClick: handleRun
58
+ }))), /* @__PURE__ */ React.createElement(Panel.Content, {
59
+ asChild: true
60
+ }, /* @__PURE__ */ React.createElement(TemplateEditor, {
61
+ id: subject.id,
62
+ template: subject.instructions
63
+ })));
64
+ };
65
+
66
+ // src/containers/PromptArticle/index.ts
67
+ var PromptArticle_default = PromptArticle;
68
+ export {
69
+ PromptArticle_default as default
70
+ };
71
+ //# sourceMappingURL=PromptArticle-RHTAHF23.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/PromptArticle/PromptArticle.tsx", "../../../src/containers/PromptArticle/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { AgentFunctions } from '@dxos/assistant-toolkit';\nimport { type Prompt } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { invokeFunctionWithTracing, useComputeRuntimeCallback } from '@dxos/plugin-automation';\nimport { Panel, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { TemplateEditor } from '../../components';\nimport { meta } from '../../meta';\n\nexport type PromptArticleProps = SurfaceComponentProps<Prompt.Prompt>;\n\nexport const PromptArticle = ({ role, attendableId, subject }: PromptArticleProps) => {\n const { t } = useTranslation(meta.id);\n const { hasAttention } = useAttention(attendableId);\n const db = Obj.getDatabase(subject);\n\n const inputData = useMemo<FunctionDefinition.Input<typeof AgentFunctions.Prompt> | undefined>(\n () =>\n subject && db\n ? {\n prompt: db.makeRef(Obj.getDXN(subject)),\n input: {},\n }\n : undefined,\n [subject, db],\n );\n\n const handleRun = useComputeRuntimeCallback(\n db?.spaceId,\n () => {\n invariant(inputData);\n return invokeFunctionWithTracing(AgentFunctions.Prompt, inputData);\n },\n [inputData],\n );\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention} onClick={handleRun}>\n <Toolbar.IconButton iconOnly icon='ph--play--regular' label={t('run prompt label')} onClick={handleRun} />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content asChild>\n <TemplateEditor id={subject.id} template={subject.instructions} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { PromptArticle } from './PromptArticle';\n\nexport default PromptArticle;\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,OAAOA,SAASC,eAAe;AAG/B,SAASC,sBAAsB;AAE/B,SAASC,WAAW;AAEpB,SAASC,iBAAiB;AAC1B,SAASC,2BAA2BC,iCAAiC;AACrE,SAASC,OAAOC,SAASC,sBAAsB;AAC/C,SAASC,oBAAoB;;AAOtB,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,cAAcC,QAAO,MAAsB;AAC/E,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAM,EAAEC,aAAY,IAAKC,aAAaP,YAAAA;AACtC,QAAMQ,KAAKC,IAAIC,YAAYT,OAAAA;AAE3B,QAAMU,YAAYC,QAChB,MACEX,WAAWO,KACP;IACEK,QAAQL,GAAGM,QAAQL,IAAIM,OAAOd,OAAAA,CAAAA;IAC9Be,OAAO,CAAC;EACV,IACAC,QACN;IAAChB;IAASO;GAAG;AAGf,QAAMU,YAAYC,0BAChBX,IAAIY,SACJ,MAAA;AACEC,cAAUV,WAAAA,QAAAA;;;;;;;;;AACV,WAAOW,0BAA0BC,eAAeC,QAAQb,SAAAA;EAC1D,GACA;IAACA;GAAU;AAGb,SACE,sBAAA,cAACc,MAAMC,MAAI;IAAC3B;IAAY4B,WAAU;KAChC,sBAAA,cAACF,MAAMG,SAAO;IAACC,SAAAA;KACb,sBAAA,cAACD,QAAQF,MAAI;IAACI,UAAU,CAACxB;IAAcyB,SAASb;KAC9C,sBAAA,cAACU,QAAQI,YAAU;IAACC,UAAAA;IAASC,MAAK;IAAoBC,OAAOjC,EAAE,kBAAA;IAAqB6B,SAASb;QAGjG,sBAAA,cAACO,MAAMW,SAAO;IAACP,SAAAA;KACb,sBAAA,cAACQ,gBAAAA;IAAehC,IAAIJ,QAAQI;IAAIiC,UAAUrC,QAAQsC;;AAI1D;;;ACpDA,IAAA,wBAAeC;",
6
+ "names": ["React", "useMemo", "AgentFunctions", "Obj", "invariant", "invokeFunctionWithTracing", "useComputeRuntimeCallback", "Panel", "Toolbar", "useTranslation", "useAttention", "PromptArticle", "role", "attendableId", "subject", "t", "useTranslation", "meta", "id", "hasAttention", "useAttention", "db", "Obj", "getDatabase", "inputData", "useMemo", "prompt", "makeRef", "getDXN", "input", "undefined", "handleRun", "useComputeRuntimeCallback", "spaceId", "invariant", "invokeFunctionWithTracing", "AgentFunctions", "Prompt", "Panel", "Root", "className", "Toolbar", "asChild", "disabled", "onClick", "IconButton", "iconOnly", "icon", "label", "Content", "TemplateEditor", "template", "instructions", "PromptArticle"]
7
+ }
@@ -0,0 +1,228 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-2VIEX4RA.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/containers/TracePanel/TracePanel.tsx
7
+ import * as Schema from "effect/Schema";
8
+ import React, { useMemo } from "react";
9
+ import { Filter, Obj, Query } from "@dxos/echo";
10
+ import { InvocationOutcome, InvocationTraceEndEvent, InvocationTraceStartEvent } from "@dxos/functions-runtime";
11
+ import { useTriggerRuntimeControls } from "@dxos/plugin-automation";
12
+ import { useActiveSpace } from "@dxos/plugin-space";
13
+ import { Input, Panel, Toolbar, useTranslation } from "@dxos/react-ui";
14
+ import { Timeline } from "@dxos/react-ui-components";
15
+ import { Message } from "@dxos/types";
16
+ import { AtomObj, AtomQuery, AtomRef } from "@dxos/echo-atom";
17
+ import { LogLevel } from "@dxos/log";
18
+ import { Atom } from "@effect-atom/atom";
19
+ import { useAtomValue } from "@effect-atom/atom-react";
20
+ import * as Array from "effect/Array";
21
+ import { pipe } from "effect/Function";
22
+ var TracePanel = () => {
23
+ const space = useActiveSpace();
24
+ if (!space) {
25
+ return null;
26
+ }
27
+ return /* @__PURE__ */ React.createElement(TracePanelMain, {
28
+ space
29
+ });
30
+ };
31
+ var TracePanelMain = ({ space }) => {
32
+ const { t } = useTranslation(meta.id);
33
+ const { state, start, stop } = useTriggerRuntimeControls(space.db);
34
+ const isRunning = state?.enabled ?? false;
35
+ const { branches, commits } = useAtomValue(useMemo(() => getExecutionGraph(space), [
36
+ space
37
+ ]));
38
+ return /* @__PURE__ */ React.createElement(Panel.Root, null, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
39
+ asChild: true
40
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Switch, {
41
+ checked: isRunning,
42
+ onCheckedChange: isRunning ? stop : start
43
+ })), /* @__PURE__ */ React.createElement("span", {
44
+ className: "text-sm"
45
+ }, t("trigger runtime label")))), /* @__PURE__ */ React.createElement(Panel.Content, null, /* @__PURE__ */ React.createElement(Timeline, {
46
+ branches,
47
+ commits,
48
+ compact: true
49
+ })));
50
+ };
51
+ var getExecutionGraph = (space, { invocationsLimit = 100, subeventsLimit = 20, showSubeventsForLastNInvocations = 4 } = {}) => {
52
+ return pipe(
53
+ space.properties,
54
+ (_) => AtomObj.make(_),
55
+ // space properies => Atom<Atom<InvocationTraceEvent[]>>
56
+ (_) => Atom.make((get) => {
57
+ const queueDxn = get(_).invocationTraceQueue?.dxn;
58
+ return AtomQuery.make(space.db, !queueDxn ? Query.select(Filter.nothing()) : Query.select(Filter.or(Filter.type(InvocationTraceStartEvent), Filter.type(InvocationTraceEndEvent))).from({
59
+ queues: [
60
+ queueDxn.toString()
61
+ ]
62
+ }));
63
+ }),
64
+ // Flatten atoms
65
+ (_) => Atom.make((get) => get(get(_))),
66
+ // Atom<InvocationTraceEvent[]> => Atom<InvocationInfo[]>
67
+ (_) => Atom.make((get) => {
68
+ const events = get(_);
69
+ const invocations = [];
70
+ for (const event of events) {
71
+ if (Schema.is(InvocationTraceStartEvent)(event)) {
72
+ const invocationInfo = {
73
+ startEvent: event,
74
+ endEvent: null,
75
+ subevents: []
76
+ };
77
+ invocations.push(invocationInfo);
78
+ } else if (Schema.is(InvocationTraceEndEvent)(event)) {
79
+ const invocationInfo = invocations.find((i) => i.startEvent.invocationId === event.invocationId);
80
+ if (invocationInfo) {
81
+ invocationInfo.endEvent = event;
82
+ }
83
+ }
84
+ }
85
+ let expandedBudget = showSubeventsForLastNInvocations;
86
+ for (let i = invocations.length - 1; i >= 0; i--) {
87
+ const invocation = invocations[i];
88
+ if (!invocation.startEvent.invocationTraceQueue) {
89
+ continue;
90
+ }
91
+ const subevents = get(AtomQuery.make(space.db, Query.select(Filter.everything()).limit(subeventsLimit).from({
92
+ queues: [
93
+ invocation.startEvent.invocationTraceQueue?.dxn?.toString()
94
+ ]
95
+ })));
96
+ invocation.subevents = subevents;
97
+ if (subevents.length > 0) {
98
+ expandedBudget--;
99
+ }
100
+ if (expandedBudget <= 0) {
101
+ break;
102
+ }
103
+ }
104
+ return invocations;
105
+ }),
106
+ // Build commit graph from InvocationInfo[]
107
+ (_) => Atom.make((get) => {
108
+ const invocations = get(_);
109
+ const branches = [
110
+ "invocations"
111
+ ];
112
+ const commits = [];
113
+ const sorted = invocations.sort((a, b) => a.startEvent.timestamp - b.startEvent.timestamp);
114
+ let idx = 0;
115
+ for (const invocation of sorted.slice(-invocationsLimit)) {
116
+ const trigger = invocation.startEvent.trigger && AtomRef.make(invocation.startEvent.trigger).pipe(get);
117
+ const fn = (invocation.startEvent.invocationTarget && AtomRef.make(invocation.startEvent.invocationTarget).pipe(get)) ?? (trigger?.function && AtomRef.make(trigger.function).pipe(get));
118
+ const functionName = fn ? Obj.getLabel(fn) : void 0;
119
+ const triggerName = trigger?.spec?.kind ?? "trigger";
120
+ const label = functionName ? `${functionName} on ${triggerName}` : triggerName;
121
+ const branchName = `invocation-${invocation.startEvent.invocationId.slice(0, 8)}`;
122
+ if (invocation.endEvent && invocation.subevents.length === 0) {
123
+ commits.push({
124
+ id: invocation.endEvent.id,
125
+ branch: "invocations",
126
+ parents: commits.length > 0 ? [
127
+ commits.at(-1).id
128
+ ] : [],
129
+ icon: invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? "ph--check-circle--regular" : "ph--x-circle--regular",
130
+ level: invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? LogLevel.INFO : LogLevel.ERROR,
131
+ message: `${label} - ${invocation.endEvent.outcome}`,
132
+ timestamp: new Date(invocation.endEvent.timestamp)
133
+ });
134
+ continue;
135
+ }
136
+ commits.push({
137
+ id: invocation.startEvent.id,
138
+ branch: "invocations",
139
+ parents: commits.length > 0 ? [
140
+ commits.at(-1).id
141
+ ] : [],
142
+ icon: invocation.endEvent ? "ph--play--regular" : "ph--spinner-gap--regular",
143
+ level: invocation.endEvent ? LogLevel.INFO : LogLevel.VERBOSE,
144
+ message: label,
145
+ timestamp: new Date(invocation.startEvent.timestamp)
146
+ });
147
+ for (const subevent of invocation.subevents.slice(-subeventsLimit)) {
148
+ if (Obj.instanceOf(Message.Message, subevent)) {
149
+ for (const block of subevent.blocks) {
150
+ switch (block._tag) {
151
+ case "text":
152
+ commits.push({
153
+ id: subevent.id,
154
+ branch: branchName,
155
+ parents: [
156
+ commits.at(-1).id
157
+ ],
158
+ icon: "ph--robot--regular",
159
+ level: LogLevel.VERBOSE,
160
+ message: block.text.slice(0, 50),
161
+ timestamp: new Date(subevent.created)
162
+ });
163
+ if (!branches.includes(branchName)) {
164
+ branches.push(branchName);
165
+ }
166
+ break;
167
+ case "toolCall":
168
+ commits.push({
169
+ id: subevent.id,
170
+ branch: branchName,
171
+ parents: [
172
+ commits.at(-1).id
173
+ ],
174
+ icon: "ph--wrench--regular",
175
+ level: LogLevel.VERBOSE,
176
+ message: block.name,
177
+ timestamp: new Date(subevent.created)
178
+ });
179
+ if (!branches.includes(branchName)) {
180
+ branches.push(branchName);
181
+ }
182
+ break;
183
+ }
184
+ }
185
+ }
186
+ }
187
+ if (!invocation.endEvent && invocation.subevents.length > 0) {
188
+ commits.push({
189
+ id: invocation.startEvent.invocationId + "pending",
190
+ branch: branchName,
191
+ parents: [
192
+ commits.at(-1).id
193
+ ],
194
+ icon: "ph--dots-three-vertical--regular",
195
+ level: LogLevel.VERBOSE,
196
+ message: "Running...",
197
+ timestamp: /* @__PURE__ */ new Date()
198
+ });
199
+ }
200
+ if (invocation.endEvent && invocation.subevents.length > 0) {
201
+ commits.push({
202
+ id: invocation.endEvent.id,
203
+ branch: "invocations",
204
+ parents: Array.dedupe([
205
+ invocation.startEvent.invocationId,
206
+ commits.at(-1).id
207
+ ]),
208
+ icon: invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? "ph--check-circle--regular" : "ph--x-circle--regular",
209
+ level: invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? LogLevel.INFO : LogLevel.ERROR,
210
+ message: `${label} - ${invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? "Success" : "Failure"}`,
211
+ timestamp: new Date(invocation.endEvent.timestamp)
212
+ });
213
+ }
214
+ }
215
+ return {
216
+ branches,
217
+ commits
218
+ };
219
+ })
220
+ );
221
+ };
222
+
223
+ // src/containers/TracePanel/index.ts
224
+ var TracePanel_default = TracePanel;
225
+ export {
226
+ TracePanel_default as default
227
+ };
228
+ //# sourceMappingURL=TracePanel-UPRPODLO.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TracePanel/TracePanel.tsx", "../../../src/containers/TracePanel/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useMemo } from 'react';\n\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { InvocationOutcome, InvocationTraceEndEvent, InvocationTraceStartEvent } from '@dxos/functions-runtime';\nimport { useTriggerRuntimeControls } from '@dxos/plugin-automation';\nimport { useActiveSpace } from '@dxos/plugin-space';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Input, Panel, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { Timeline, type Commit } from '@dxos/react-ui-components';\nimport { Message } from '@dxos/types';\n\nimport { AtomObj, AtomQuery, AtomRef } from '@dxos/echo-atom';\nimport { LogLevel } from '@dxos/log';\nimport { Atom } from '@effect-atom/atom';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport * as Array from 'effect/Array';\nimport { pipe } from 'effect/Function';\nimport { meta } from '../../meta';\n\nexport const TracePanel = () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <TracePanelMain space={space} />;\n};\n\nconst TracePanelMain = ({ space }: { space: Space }) => {\n const { t } = useTranslation(meta.id);\n const { state, start, stop } = useTriggerRuntimeControls(space.db);\n const isRunning = state?.enabled ?? false;\n\n const { branches, commits } = useAtomValue(useMemo(() => getExecutionGraph(space), [space]));\n\n return (\n <Panel.Root>\n <Panel.Toolbar asChild>\n <Toolbar.Root>\n <Input.Root>\n <Input.Switch checked={isRunning} onCheckedChange={isRunning ? stop : start} />\n </Input.Root>\n <span className='text-sm'>{t('trigger runtime label')}</span>\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content>\n <Timeline branches={branches} commits={commits} compact />\n </Panel.Content>\n </Panel.Root>\n );\n};\n\ntype InvocationInfo = {\n startEvent: InvocationTraceStartEvent;\n endEvent: InvocationTraceEndEvent | null;\n subevents: Obj.Unknown[];\n};\n\nconst getExecutionGraph = (\n space: Space,\n {\n invocationsLimit = 100,\n subeventsLimit = 20,\n showSubeventsForLastNInvocations = 4,\n }: { invocationsLimit?: number; subeventsLimit?: number; showSubeventsForLastNInvocations?: number } = {},\n): Atom.Atom<{\n branches: string[];\n commits: Commit[];\n}> => {\n return pipe(\n space.properties,\n (_) => AtomObj.make(_),\n // space properies => Atom<Atom<InvocationTraceEvent[]>>\n (_) =>\n Atom.make((get) => {\n const queueDxn = get(_).invocationTraceQueue?.dxn;\n return AtomQuery.make(\n space.db,\n !queueDxn\n ? (Query.select(Filter.nothing()) as Query.Query<never>) // TODO(dmaretskyi): Broken echo types here.\n : Query.select(\n Filter.or(Filter.type(InvocationTraceStartEvent), Filter.type(InvocationTraceEndEvent)),\n ).from({\n queues: [queueDxn.toString()],\n }),\n );\n }),\n // Flatten atoms\n (_) => Atom.make((get) => get(get(_))),\n // Atom<InvocationTraceEvent[]> => Atom<InvocationInfo[]>\n (_) =>\n Atom.make((get) => {\n const events = get(_);\n const invocations: InvocationInfo[] = [];\n\n for (const event of events) {\n if (Schema.is(InvocationTraceStartEvent)(event)) {\n const invocationInfo: InvocationInfo = {\n startEvent: event,\n endEvent: null,\n subevents: [],\n };\n invocations.push(invocationInfo);\n } else if (Schema.is(InvocationTraceEndEvent)(event)) {\n const invocationInfo = invocations.find((i) => i.startEvent.invocationId === event.invocationId);\n if (invocationInfo) {\n invocationInfo.endEvent = event;\n }\n }\n }\n\n let expandedBudget = showSubeventsForLastNInvocations;\n for (let i = invocations.length - 1; i >= 0; i--) {\n const invocation = invocations[i];\n if (!invocation.startEvent.invocationTraceQueue) {\n continue;\n }\n const subevents = get(\n AtomQuery.make(\n space.db,\n Query.select(Filter.everything())\n .limit(subeventsLimit)\n .from({ queues: [invocation.startEvent.invocationTraceQueue?.dxn?.toString()] }),\n ),\n );\n invocation.subevents = subevents;\n if (subevents.length > 0) {\n expandedBudget--;\n }\n if (expandedBudget <= 0) {\n break;\n }\n }\n\n return invocations;\n }),\n\n // Build commit graph from InvocationInfo[]\n (_) =>\n Atom.make((get) => {\n const invocations = get(_);\n // Two alternating branches for subevents to save horizontal space.\n const branches: string[] = ['invocations'];\n const commits: Commit[] = [];\n\n const sorted = invocations.sort((a, b) => a.startEvent.timestamp - b.startEvent.timestamp);\n let idx = 0;\n for (const invocation of sorted.slice(-invocationsLimit)) {\n const trigger = invocation.startEvent.trigger && AtomRef.make(invocation.startEvent.trigger).pipe(get);\n const fn =\n (invocation.startEvent.invocationTarget &&\n AtomRef.make(invocation.startEvent.invocationTarget).pipe(get)) ??\n (trigger?.function && AtomRef.make(trigger.function).pipe(get));\n\n const functionName = fn ? Obj.getLabel(fn) : undefined;\n const triggerName = trigger?.spec?.kind ?? 'trigger';\n const label = functionName ? `${functionName} on ${triggerName}` : triggerName;\n\n const branchName = `invocation-${invocation.startEvent.invocationId.slice(0, 8)}`;\n\n if (invocation.endEvent && invocation.subevents.length === 0) {\n commits.push({\n id: invocation.endEvent.id,\n branch: 'invocations',\n parents: commits.length > 0 ? [commits.at(-1)!.id] : [],\n icon:\n invocation.endEvent.outcome === InvocationOutcome.SUCCESS\n ? 'ph--check-circle--regular'\n : 'ph--x-circle--regular',\n level: invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? LogLevel.INFO : LogLevel.ERROR,\n message: `${label} - ${invocation.endEvent.outcome}`,\n timestamp: new Date(invocation.endEvent.timestamp),\n });\n continue;\n }\n\n commits.push({\n id: invocation.startEvent.id,\n branch: 'invocations',\n parents: commits.length > 0 ? [commits.at(-1)!.id] : [],\n icon: invocation.endEvent ? 'ph--play--regular' : 'ph--spinner-gap--regular',\n level: invocation.endEvent ? LogLevel.INFO : LogLevel.VERBOSE,\n message: label,\n timestamp: new Date(invocation.startEvent.timestamp),\n });\n\n for (const subevent of invocation.subevents.slice(-subeventsLimit)) {\n if (Obj.instanceOf(Message.Message, subevent)) {\n for (const block of subevent.blocks) {\n switch (block._tag) {\n case 'text':\n commits.push({\n id: subevent.id,\n branch: branchName,\n parents: [commits.at(-1)!.id],\n icon: 'ph--robot--regular',\n level: LogLevel.VERBOSE,\n message: block.text.slice(0, 50),\n timestamp: new Date(subevent.created),\n });\n if (!branches.includes(branchName)) {\n branches.push(branchName);\n }\n break;\n case 'toolCall':\n commits.push({\n id: subevent.id,\n branch: branchName,\n parents: [commits.at(-1)!.id],\n icon: 'ph--wrench--regular',\n level: LogLevel.VERBOSE,\n message: block.name,\n timestamp: new Date(subevent.created),\n });\n if (!branches.includes(branchName)) {\n branches.push(branchName);\n }\n break;\n }\n }\n }\n }\n\n if (!invocation.endEvent && invocation.subevents.length > 0) {\n commits.push({\n id: invocation.startEvent.invocationId + 'pending',\n branch: branchName,\n parents: [commits.at(-1)!.id],\n icon: 'ph--dots-three-vertical--regular',\n level: LogLevel.VERBOSE,\n message: 'Running...',\n timestamp: new Date(),\n });\n }\n\n if (invocation.endEvent && invocation.subevents.length > 0) {\n commits.push({\n id: invocation.endEvent.id,\n branch: 'invocations',\n parents: Array.dedupe([invocation.startEvent.invocationId, commits.at(-1)!.id]),\n icon:\n invocation.endEvent.outcome === InvocationOutcome.SUCCESS\n ? 'ph--check-circle--regular'\n : 'ph--x-circle--regular',\n level: invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? LogLevel.INFO : LogLevel.ERROR,\n message: `${label} - ${invocation.endEvent.outcome === InvocationOutcome.SUCCESS ? 'Success' : 'Failure'}`,\n timestamp: new Date(invocation.endEvent.timestamp),\n });\n }\n }\n\n return { branches, commits };\n }),\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { TracePanel } from './TracePanel';\n\nexport default TracePanel;\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "React", "useMemo", "Filter", "Obj", "Query", "InvocationOutcome", "InvocationTraceEndEvent", "InvocationTraceStartEvent", "useTriggerRuntimeControls", "useActiveSpace", "Input", "Panel", "Toolbar", "useTranslation", "Timeline", "Message", "AtomObj", "AtomQuery", "AtomRef", "LogLevel", "Atom", "useAtomValue", "Array", "pipe", "TracePanel", "space", "useActiveSpace", "TracePanelMain", "t", "useTranslation", "meta", "id", "state", "start", "stop", "useTriggerRuntimeControls", "db", "isRunning", "enabled", "branches", "commits", "useAtomValue", "useMemo", "getExecutionGraph", "Panel", "Root", "Toolbar", "asChild", "Input", "Switch", "checked", "onCheckedChange", "span", "className", "Content", "Timeline", "compact", "invocationsLimit", "subeventsLimit", "showSubeventsForLastNInvocations", "pipe", "properties", "_", "AtomObj", "make", "Atom", "get", "queueDxn", "invocationTraceQueue", "dxn", "AtomQuery", "Query", "select", "Filter", "nothing", "or", "type", "InvocationTraceStartEvent", "InvocationTraceEndEvent", "from", "queues", "toString", "events", "invocations", "event", "is", "invocationInfo", "startEvent", "endEvent", "subevents", "push", "find", "i", "invocationId", "expandedBudget", "length", "invocation", "everything", "limit", "sorted", "sort", "a", "b", "timestamp", "idx", "slice", "trigger", "AtomRef", "fn", "invocationTarget", "function", "functionName", "Obj", "getLabel", "undefined", "triggerName", "spec", "kind", "label", "branchName", "branch", "parents", "at", "icon", "outcome", "InvocationOutcome", "SUCCESS", "level", "LogLevel", "INFO", "ERROR", "message", "Date", "VERBOSE", "subevent", "instanceOf", "Message", "block", "blocks", "_tag", "text", "created", "includes", "name", "dedupe", "TracePanel"]
7
+ }
@@ -0,0 +1,112 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-2VIEX4RA.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/containers/TriggerStatus/TriggerStatus.tsx
7
+ import React, { useMemo } from "react";
8
+ import { useTriggerRuntimeControls } from "@dxos/plugin-automation";
9
+ import { useActiveSpace } from "@dxos/plugin-space";
10
+ import { StatusBar } from "@dxos/plugin-status-bar";
11
+ import { Icon, Input, Popover, useTranslation } from "@dxos/react-ui";
12
+ import { Settings } from "@dxos/react-ui-form";
13
+ import { mx } from "@dxos/ui-theme";
14
+ var getIcon = (state) => {
15
+ switch (state) {
16
+ case "disabled":
17
+ return "ph--lightning-slash--regular";
18
+ case "idle":
19
+ return "ph--lightning--regular";
20
+ case "running":
21
+ return "ph--lightning--fill";
22
+ case "error":
23
+ return "ph--warning--regular";
24
+ }
25
+ };
26
+ var getIconClassNames = (state) => {
27
+ switch (state) {
28
+ case "running":
29
+ return "animate-pulse text-accent-text";
30
+ case "error":
31
+ return "text-error-text";
32
+ default:
33
+ return void 0;
34
+ }
35
+ };
36
+ var TriggerStatus = () => {
37
+ const space = useActiveSpace();
38
+ const db = space?.db;
39
+ if (!db) {
40
+ return null;
41
+ }
42
+ return /* @__PURE__ */ React.createElement(SpaceStatusMain, {
43
+ db
44
+ });
45
+ };
46
+ var SpaceStatusMain = ({ db }) => {
47
+ const { state, start, stop } = useTriggerRuntimeControls(db);
48
+ const isRunning = state?.enabled ?? false;
49
+ const triggerState = useMemo(() => {
50
+ if (!isRunning) {
51
+ return "disabled";
52
+ }
53
+ const hasPending = state?.invocations.some((invocation) => invocation.result === null);
54
+ if (hasPending) {
55
+ return "running";
56
+ }
57
+ const lastInvocation = state?.invocations.at(-1);
58
+ if (lastInvocation?.result?._tag === "Failure") {
59
+ return "error";
60
+ }
61
+ return "idle";
62
+ }, [
63
+ isRunning,
64
+ state?.invocations
65
+ ]);
66
+ const { t } = useTranslation(meta.id);
67
+ const title = t(`trigger status ${triggerState} label`);
68
+ const icon = /* @__PURE__ */ React.createElement(Icon, {
69
+ icon: getIcon(triggerState),
70
+ classNames: getIconClassNames(triggerState)
71
+ });
72
+ return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
73
+ asChild: true
74
+ }, /* @__PURE__ */ React.createElement(StatusBar.Item, {
75
+ title
76
+ }, icon)), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, null, /* @__PURE__ */ React.createElement(TriggerStatusPopover, {
77
+ isRunning,
78
+ state: triggerState,
79
+ currentFunctionName: state?.invocations.at(-1)?.function?.name ?? state?.invocations.at(-1)?.function?.key,
80
+ lastInvocation: state?.invocations.at(-1),
81
+ onToggle: isRunning ? stop : start
82
+ }), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
83
+ };
84
+ var TriggerStatusPopover = ({ isRunning, state, currentFunctionName, lastInvocation, onToggle }) => {
85
+ const { t } = useTranslation(meta.id);
86
+ return /* @__PURE__ */ React.createElement("div", {
87
+ className: "min-w-[240px] p-2 space-y-3"
88
+ }, /* @__PURE__ */ React.createElement(Settings.ItemInput, {
89
+ title: t("trigger runtime label"),
90
+ description: t("trigger runtime description")
91
+ }, /* @__PURE__ */ React.createElement(Input.Switch, {
92
+ classNames: "justify-self-end",
93
+ checked: isRunning,
94
+ onCheckedChange: onToggle
95
+ })), /* @__PURE__ */ React.createElement("div", {
96
+ className: "flex items-center gap-2 pt-2 border-t border-separator"
97
+ }, /* @__PURE__ */ React.createElement(Icon, {
98
+ icon: getIcon(state),
99
+ classNames: mx(getIconClassNames(state), "shrink-0")
100
+ }), /* @__PURE__ */ React.createElement("span", {
101
+ className: "text-sm"
102
+ }, t(`trigger status ${state} label`)), currentFunctionName && state === "running" && /* @__PURE__ */ React.createElement("span", {
103
+ className: "text-xs text-description"
104
+ }, currentFunctionName)));
105
+ };
106
+
107
+ // src/containers/TriggerStatus/index.ts
108
+ var TriggerStatus_default = TriggerStatus;
109
+ export {
110
+ TriggerStatus_default as default
111
+ };
112
+ //# sourceMappingURL=TriggerStatus-X35WDCK5.mjs.map