@dxos/plugin-assistant 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5

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 (676) hide show
  1. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs +97 -0
  2. package/dist/lib/browser/AssistantSettings-7QMO3LGF.mjs.map +7 -0
  3. package/dist/lib/browser/blueprints/index.mjs +8 -0
  4. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-ATHYBVGN.mjs +176 -0
  6. package/dist/lib/browser/chunk-ATHYBVGN.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-EZRS3J25.mjs +30 -0
  8. package/dist/lib/browser/chunk-EZRS3J25.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  10. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-LMVTXH54.mjs +154 -0
  12. package/dist/lib/browser/chunk-LMVTXH54.mjs.map +7 -0
  13. package/dist/lib/browser/create-chat-LBZHGVSN.mjs +82 -0
  14. package/dist/lib/browser/create-chat-LBZHGVSN.mjs.map +7 -0
  15. package/dist/lib/browser/ensure-companion-chat-ZEZA34MZ.mjs +65 -0
  16. package/dist/lib/browser/ensure-companion-chat-ZEZA34MZ.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +3410 -223
  18. package/dist/lib/browser/index.mjs.map +4 -4
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/on-create-space-54RNX5JI.mjs +22 -0
  21. package/dist/lib/browser/on-create-space-54RNX5JI.mjs.map +7 -0
  22. package/dist/lib/browser/operations/index.mjs +13 -0
  23. package/dist/lib/browser/operations/index.mjs.map +7 -0
  24. package/dist/lib/browser/resolve-navigation-targets-NZOD66NY.mjs +22 -0
  25. package/dist/lib/browser/resolve-navigation-targets-NZOD66NY.mjs.map +7 -0
  26. package/dist/lib/browser/run-prompt-in-new-chat-THLK5YQC.mjs +136 -0
  27. package/dist/lib/browser/run-prompt-in-new-chat-THLK5YQC.mjs.map +7 -0
  28. package/dist/lib/browser/set-current-chat-LRS3VFSH.mjs +54 -0
  29. package/dist/lib/browser/set-current-chat-LRS3VFSH.mjs.map +7 -0
  30. package/dist/lib/browser/types/index.mjs +8 -14
  31. package/dist/lib/browser/update-chat-name-3Y36KFAS.mjs +71 -0
  32. package/dist/lib/browser/update-chat-name-3Y36KFAS.mjs.map +7 -0
  33. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs +98 -0
  34. package/dist/lib/node-esm/AssistantSettings-UVUTKO7E.mjs.map +7 -0
  35. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  36. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  38. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  39. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs +32 -0
  40. package/dist/lib/node-esm/chunk-NZIKC7AN.mjs.map +7 -0
  41. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs +177 -0
  42. package/dist/lib/node-esm/chunk-PXAJSTGZ.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-W3JZ2F4T.mjs +155 -0
  44. package/dist/lib/node-esm/chunk-W3JZ2F4T.mjs.map +7 -0
  45. package/dist/lib/node-esm/create-chat-3BEG4R6J.mjs +83 -0
  46. package/dist/lib/node-esm/create-chat-3BEG4R6J.mjs.map +7 -0
  47. package/dist/lib/node-esm/ensure-companion-chat-6K2WEWFP.mjs +66 -0
  48. package/dist/lib/node-esm/ensure-companion-chat-6K2WEWFP.mjs.map +7 -0
  49. package/dist/lib/node-esm/index.mjs +3410 -223
  50. package/dist/lib/node-esm/index.mjs.map +4 -4
  51. package/dist/lib/node-esm/meta.json +1 -1
  52. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs +23 -0
  53. package/dist/lib/node-esm/on-create-space-YRPZ6HZY.mjs.map +7 -0
  54. package/dist/lib/node-esm/operations/index.mjs +14 -0
  55. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  56. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs +23 -0
  57. package/dist/lib/node-esm/resolve-navigation-targets-3PPK7XLH.mjs.map +7 -0
  58. package/dist/lib/node-esm/run-prompt-in-new-chat-OUYKCMQ7.mjs +137 -0
  59. package/dist/lib/node-esm/run-prompt-in-new-chat-OUYKCMQ7.mjs.map +7 -0
  60. package/dist/lib/node-esm/set-current-chat-SMXZJD3F.mjs +55 -0
  61. package/dist/lib/node-esm/set-current-chat-SMXZJD3F.mjs.map +7 -0
  62. package/dist/lib/node-esm/types/index.mjs +8 -14
  63. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs +72 -0
  64. package/dist/lib/node-esm/update-chat-name-HM2P4NSI.mjs.map +7 -0
  65. package/dist/types/src/AssistantPlugin.d.ts +2 -1
  66. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  67. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  68. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  69. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  70. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  71. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  72. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  73. package/dist/types/src/blueprints/index.d.ts +2 -0
  74. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  75. package/dist/types/src/capabilities/ai-service.d.ts +6 -0
  76. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -0
  77. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  78. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  80. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  81. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
  82. package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
  83. package/dist/types/src/capabilities/edge-model-resolver.d.ts +7 -0
  84. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/index.d.ts +29 -6
  86. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/local-model-resolver.d.ts +16 -0
  88. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
  89. package/dist/types/src/capabilities/markdown.d.ts +5 -0
  90. package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
  91. package/dist/types/src/capabilities/migrations.d.ts +5 -0
  92. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  93. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  94. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  96. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/settings.d.ts +4 -2
  98. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/state.d.ts +21 -0
  100. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/toolkit.d.ts +6 -0
  102. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  103. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
  104. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  105. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +15 -0
  106. package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
  107. package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
  108. package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
  109. package/dist/types/src/components/Chat/Chat.d.ts +41 -19
  110. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  111. package/dist/types/src/components/Chat/events.d.ts +39 -0
  112. package/dist/types/src/components/Chat/events.d.ts.map +1 -0
  113. package/dist/types/src/components/Chat/index.d.ts +1 -0
  114. package/dist/types/src/components/Chat/index.d.ts.map +1 -1
  115. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +10 -0
  116. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
  117. package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
  118. package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
  119. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +7 -5
  120. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  121. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +22 -0
  122. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
  123. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +19 -0
  124. package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts +11 -0
  126. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -0
  127. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -6
  128. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  129. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +7 -4
  130. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  131. package/dist/types/src/components/ChatPrompt/index.d.ts +2 -2
  132. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  133. package/dist/types/src/components/ChatThread/ChatThread.d.ts +13 -17
  134. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  135. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +24 -221
  136. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  137. package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
  138. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
  139. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +35 -0
  140. package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -0
  141. package/dist/types/src/components/ChatThread/registry.d.ts +11 -0
  142. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  143. package/dist/types/src/components/ChatThread/sync.d.ts +43 -0
  144. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  145. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  146. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  147. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts +18 -0
  148. package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -0
  149. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts +2 -0
  150. package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +1 -0
  151. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
  152. package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
  153. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts +14 -0
  154. package/dist/types/src/components/ChatThread/widgets/PromptWidget.d.ts.map +1 -0
  155. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
  156. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
  157. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +18 -0
  158. package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -0
  159. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
  160. package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
  161. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
  162. package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
  163. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
  164. package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
  165. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +25 -0
  166. package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -0
  167. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
  168. package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
  169. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
  170. package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
  171. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
  172. package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
  173. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts +15 -0
  174. package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -0
  175. package/dist/types/src/components/ChatThread/widgets/index.d.ts +11 -0
  176. package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
  177. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +10 -0
  178. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
  179. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +8 -0
  180. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
  181. package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
  182. package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
  183. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +9 -11
  184. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  185. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +13 -7
  186. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  187. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +16 -5
  188. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  189. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +10 -2
  190. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  191. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
  192. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  193. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  194. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  195. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  196. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  197. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +12 -0
  198. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  199. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  200. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  201. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  202. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  203. package/dist/types/src/components/Toolbox/Toolbox.d.ts +17 -21
  204. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  205. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +14 -5
  206. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  207. package/dist/types/src/components/index.d.ts +3 -8
  208. package/dist/types/src/components/index.d.ts.map +1 -1
  209. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +6 -0
  210. package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -0
  211. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +21 -0
  212. package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -0
  213. package/dist/types/src/containers/AgentArticle/index.d.ts +2 -0
  214. package/dist/types/src/containers/AgentArticle/index.d.ts.map +1 -0
  215. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +6 -0
  216. package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -0
  217. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts +16 -0
  218. package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
  219. package/dist/types/src/containers/AgentProperties/index.d.ts +2 -0
  220. package/dist/types/src/containers/AgentProperties/index.d.ts.map +1 -0
  221. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  222. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  223. package/dist/types/src/containers/BlueprintArticle/index.d.ts +2 -0
  224. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  225. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +18 -0
  226. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  227. package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
  228. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  229. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +12 -0
  230. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  231. package/dist/types/src/containers/ChatContainer/index.d.ts +2 -0
  232. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  233. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  234. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  235. package/dist/types/src/containers/ChatDialog/index.d.ts +2 -0
  236. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  237. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +6 -0
  238. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
  239. package/dist/types/src/containers/PromptArticle/index.d.ts +2 -0
  240. package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
  241. package/dist/types/src/containers/PromptList/PromptList.d.ts +6 -0
  242. package/dist/types/src/containers/PromptList/PromptList.d.ts.map +1 -0
  243. package/dist/types/src/containers/PromptList/PromptList.stories.d.ts +21 -0
  244. package/dist/types/src/containers/PromptList/PromptList.stories.d.ts.map +1 -0
  245. package/dist/types/src/containers/PromptList/index.d.ts +2 -0
  246. package/dist/types/src/containers/PromptList/index.d.ts.map +1 -0
  247. package/dist/types/src/containers/TracePanel/TracePanel.d.ts +9 -0
  248. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
  249. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +15 -0
  250. package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -0
  251. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
  252. package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
  253. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
  254. package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
  255. package/dist/types/src/containers/TracePanel/execution-graph.d.ts +17 -0
  256. package/dist/types/src/containers/TracePanel/execution-graph.d.ts.map +1 -0
  257. package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
  258. package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
  259. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
  260. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  261. package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
  262. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  263. package/dist/types/src/containers/index.d.ts +12 -0
  264. package/dist/types/src/containers/index.d.ts.map +1 -0
  265. package/dist/types/src/extensions/index.d.ts +2 -0
  266. package/dist/types/src/extensions/index.d.ts.map +1 -0
  267. package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
  268. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
  269. package/dist/types/src/hooks/index.d.ts +10 -5
  270. package/dist/types/src/hooks/index.d.ts.map +1 -1
  271. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
  272. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
  273. package/dist/types/src/hooks/useChatProcessor.d.ts +12 -24
  274. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  275. package/dist/types/src/hooks/useChatServices.d.ts +10 -0
  276. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -0
  277. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  278. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  279. package/dist/types/src/hooks/useContextBinder.d.ts +5 -0
  280. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  281. package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
  282. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  283. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  284. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  285. package/dist/types/src/hooks/useFlush.d.ts +6 -0
  286. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  287. package/dist/types/src/hooks/useOnline.d.ts +3 -0
  288. package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
  289. package/dist/types/src/hooks/usePresets.d.ts +7 -0
  290. package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
  291. package/dist/types/src/hooks/useReferencesProvider.d.ts +7 -0
  292. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -0
  293. package/dist/types/src/index.d.ts +3 -2
  294. package/dist/types/src/index.d.ts.map +1 -1
  295. package/dist/types/src/meta.d.ts +5 -4
  296. package/dist/types/src/meta.d.ts.map +1 -1
  297. package/dist/types/src/operations/create-chat.d.ts +5 -0
  298. package/dist/types/src/operations/create-chat.d.ts.map +1 -0
  299. package/dist/types/src/operations/definitions.d.ts +135 -0
  300. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  301. package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
  302. package/dist/types/src/operations/ensure-companion-chat.d.ts.map +1 -0
  303. package/dist/types/src/operations/index.d.ts +4 -0
  304. package/dist/types/src/operations/index.d.ts.map +1 -0
  305. package/dist/types/src/operations/on-create-space.d.ts +5 -0
  306. package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
  307. package/dist/types/src/operations/resolve-navigation-targets.d.ts +15 -0
  308. package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
  309. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
  310. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
  311. package/dist/types/src/operations/set-current-chat.d.ts +5 -0
  312. package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
  313. package/dist/types/src/operations/update-chat-name.d.ts +5 -0
  314. package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
  315. package/dist/types/src/processor/index.d.ts +3 -0
  316. package/dist/types/src/processor/index.d.ts.map +1 -0
  317. package/dist/types/src/processor/presets.d.ts +13 -0
  318. package/dist/types/src/processor/presets.d.ts.map +1 -0
  319. package/dist/types/src/processor/processor.d.ts +80 -0
  320. package/dist/types/src/processor/processor.d.ts.map +1 -0
  321. package/dist/types/src/processor/processor.test.d.ts +2 -0
  322. package/dist/types/src/processor/processor.test.d.ts.map +1 -0
  323. package/dist/types/src/queue-logger.d.ts.map +1 -1
  324. package/dist/types/src/testing/index.d.ts +1 -1
  325. package/dist/types/src/testing/index.d.ts.map +1 -1
  326. package/dist/types/src/testing/test-generator.d.ts +8 -0
  327. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  328. package/dist/types/src/testing/test-sequence.d.ts +0 -4
  329. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  330. package/dist/types/src/testing/test-services.d.ts +2 -2
  331. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  332. package/dist/types/src/testing/trace-timeline.test.d.ts +2 -0
  333. package/dist/types/src/testing/trace-timeline.test.d.ts.map +1 -0
  334. package/dist/types/src/translations.d.ts +2 -64
  335. package/dist/types/src/translations.d.ts.map +1 -1
  336. package/dist/types/src/types/Assistant.d.ts +20 -0
  337. package/dist/types/src/types/Assistant.d.ts.map +1 -0
  338. package/dist/types/src/types/Settings.d.ts +11 -0
  339. package/dist/types/src/types/Settings.d.ts.map +1 -0
  340. package/dist/types/src/types/capabilities.d.ts +32 -0
  341. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  342. package/dist/types/src/types/defs.d.ts +2 -0
  343. package/dist/types/src/types/defs.d.ts.map +1 -0
  344. package/dist/types/src/types/events.d.ts +5 -0
  345. package/dist/types/src/types/events.d.ts.map +1 -0
  346. package/dist/types/src/types/index.d.ts +5 -2
  347. package/dist/types/src/types/index.d.ts.map +1 -1
  348. package/dist/types/src/types/service.d.ts +14 -213
  349. package/dist/types/src/types/service.d.ts.map +1 -1
  350. package/dist/types/tsconfig.tsbuildinfo +1 -1
  351. package/package.json +151 -93
  352. package/src/AssistantPlugin.tsx +222 -114
  353. package/src/blueprints/assistant/blueprint.test.ts +46 -0
  354. package/src/blueprints/assistant/blueprint.ts +31 -0
  355. package/src/blueprints/assistant/index.ts +5 -0
  356. package/src/{components/SequenceEditor → blueprints}/index.ts +1 -1
  357. package/src/capabilities/ai-service.ts +30 -0
  358. package/src/capabilities/app-graph-builder.ts +192 -227
  359. package/src/capabilities/blueprint-definition.ts +58 -0
  360. package/src/capabilities/companion-chat-provisioner.ts +164 -0
  361. package/src/capabilities/edge-model-resolver.ts +33 -0
  362. package/src/capabilities/index.ts +21 -8
  363. package/src/capabilities/local-model-resolver.ts +48 -0
  364. package/src/capabilities/markdown.ts +40 -0
  365. package/src/capabilities/migrations.ts +35 -0
  366. package/src/capabilities/operation-handler.ts +16 -0
  367. package/src/capabilities/react-surface.tsx +140 -123
  368. package/src/capabilities/settings.ts +24 -12
  369. package/src/capabilities/state.ts +35 -0
  370. package/src/capabilities/toolkit.ts +13 -0
  371. package/src/components/AssistantSettings/AssistantSettings.stories.tsx +34 -0
  372. package/src/components/AssistantSettings/AssistantSettings.tsx +102 -75
  373. package/src/components/AssistantSettings/index.ts +2 -2
  374. package/src/components/Chat/Chat.tsx +310 -184
  375. package/src/components/Chat/events.ts +63 -0
  376. package/src/components/Chat/index.ts +2 -0
  377. package/src/components/ChatProgress/ChatProgress.tsx +56 -0
  378. package/src/components/ChatProgress/index.ts +5 -0
  379. package/src/components/ChatPrompt/ChatActions.tsx +46 -47
  380. package/src/components/ChatPrompt/ChatOptions.stories.tsx +122 -0
  381. package/src/components/ChatPrompt/ChatOptions.tsx +404 -0
  382. package/src/components/ChatPrompt/ChatPresets.tsx +29 -0
  383. package/src/components/ChatPrompt/ChatReferences.tsx +42 -37
  384. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +33 -17
  385. package/src/components/ChatPrompt/index.ts +2 -3
  386. package/src/components/ChatThread/ChatThread.stories.tsx +120 -125
  387. package/src/components/ChatThread/ChatThread.tsx +80 -50
  388. package/src/components/ChatThread/Link.tsx +26 -0
  389. package/src/components/ChatThread/MarkdownStream.stories.tsx +243 -0
  390. package/src/components/ChatThread/registry.tsx +238 -0
  391. package/src/components/ChatThread/sync.test.ts +99 -0
  392. package/src/components/ChatThread/sync.ts +165 -0
  393. package/src/components/ChatThread/testing/thinking.md +21 -0
  394. package/src/components/ChatThread/testing/thread-1.md +30 -0
  395. package/src/components/ChatThread/testing/thread-2.md +56 -0
  396. package/src/components/ChatThread/testing/thread-widgets.md +79 -0
  397. package/src/components/ChatThread/tool-widget-state.test.ts +34 -0
  398. package/src/components/ChatThread/tool-widget-state.ts +48 -0
  399. package/src/components/ChatThread/widgets/FallbackWidget.tsx +26 -0
  400. package/src/components/ChatThread/widgets/PromptWidget.ts +28 -0
  401. package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +68 -0
  402. package/src/components/ChatThread/widgets/ReasoningWidget.ts +133 -0
  403. package/src/components/ChatThread/widgets/ReferenceWidget.ts +31 -0
  404. package/src/components/ChatThread/widgets/SelectWidget.ts +37 -0
  405. package/src/components/ChatThread/widgets/StatsWidget.ts +29 -0
  406. package/src/components/ChatThread/widgets/StatusWidget.ts +133 -0
  407. package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
  408. package/src/components/ChatThread/widgets/SummaryWidget.tsx +28 -0
  409. package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +54 -0
  410. package/src/components/ChatThread/widgets/ToolWidget.tsx +156 -0
  411. package/src/components/ChatThread/widgets/index.ts +14 -0
  412. package/src/components/ProcessTree/ProcessTree.stories.tsx +109 -0
  413. package/src/components/ProcessTree/ProcessTree.tsx +86 -0
  414. package/src/components/ProcessTree/index.ts +5 -0
  415. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +54 -43
  416. package/src/components/TemplateEditor/TemplateEditor.tsx +62 -60
  417. package/src/components/TemplateEditor/TemplateForm.stories.tsx +39 -25
  418. package/src/components/TemplateEditor/TemplateForm.tsx +123 -81
  419. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  420. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  421. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  422. package/src/components/ToolBlock/ToolBlock.tsx +144 -0
  423. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  424. package/src/components/ToolBlock/index.ts +6 -0
  425. package/src/components/Toolbox/Toolbox.stories.tsx +17 -29
  426. package/src/components/Toolbox/Toolbox.tsx +88 -110
  427. package/src/components/index.ts +3 -11
  428. package/src/containers/AgentArticle/AgentArticle.stories.tsx +120 -0
  429. package/src/containers/AgentArticle/AgentArticle.tsx +198 -0
  430. package/src/containers/AgentArticle/index.ts +5 -0
  431. package/src/containers/AgentProperties/AgentProperties.stories.tsx +100 -0
  432. package/src/containers/AgentProperties/AgentProperties.tsx +158 -0
  433. package/src/containers/AgentProperties/index.ts +5 -0
  434. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  435. package/src/containers/BlueprintArticle/index.ts +5 -0
  436. package/src/containers/ChatCompanion/ChatCompanion.tsx +142 -0
  437. package/src/containers/ChatCompanion/index.ts +5 -0
  438. package/src/containers/ChatContainer/ChatContainer.tsx +95 -0
  439. package/src/containers/ChatContainer/index.ts +5 -0
  440. package/src/containers/ChatDialog/ChatDialog.tsx +72 -0
  441. package/src/containers/ChatDialog/index.ts +5 -0
  442. package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
  443. package/src/containers/PromptArticle/index.ts +5 -0
  444. package/src/containers/PromptList/PromptList.stories.tsx +129 -0
  445. package/src/containers/PromptList/PromptList.tsx +49 -0
  446. package/src/containers/PromptList/index.ts +5 -0
  447. package/src/containers/TracePanel/TracePanel.stories.tsx +230 -0
  448. package/src/containers/TracePanel/TracePanel.tsx +114 -0
  449. package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
  450. package/src/containers/TracePanel/dxn-extractor.ts +178 -0
  451. package/src/containers/TracePanel/execution-graph.ts +425 -0
  452. package/src/containers/TracePanel/index.ts +9 -0
  453. package/src/containers/TriggerStatus/TriggerStatus.tsx +144 -0
  454. package/src/containers/TriggerStatus/index.ts +5 -0
  455. package/src/containers/index.ts +16 -0
  456. package/src/extensions/index.ts +5 -0
  457. package/src/extensions/prompt-extension.ts +111 -0
  458. package/src/hooks/index.ts +10 -6
  459. package/src/hooks/useBlueprintRegistry.ts +109 -0
  460. package/src/hooks/useChatProcessor.ts +90 -0
  461. package/src/hooks/useChatServices.ts +26 -0
  462. package/src/hooks/useChatToolbarActions.ts +122 -0
  463. package/src/hooks/useContextBinder.ts +43 -0
  464. package/src/hooks/useContextObjects.ts +50 -0
  465. package/src/hooks/useFilteredTypes.ts +37 -0
  466. package/src/hooks/useFlush.ts +35 -0
  467. package/src/hooks/useOnline.ts +10 -0
  468. package/src/hooks/usePresets.ts +45 -0
  469. package/src/hooks/useReferencesProvider.ts +54 -0
  470. package/src/index.ts +3 -2
  471. package/src/meta.ts +15 -9
  472. package/src/operations/create-chat.ts +80 -0
  473. package/src/operations/definitions.ts +127 -0
  474. package/src/operations/ensure-companion-chat.ts +61 -0
  475. package/src/operations/index.ts +17 -0
  476. package/src/operations/on-create-space.ts +24 -0
  477. package/src/operations/resolve-navigation-targets.ts +26 -0
  478. package/src/operations/run-prompt-in-new-chat.ts +113 -0
  479. package/src/operations/set-current-chat.ts +50 -0
  480. package/src/operations/update-chat-name.ts +61 -0
  481. package/src/processor/index.ts +6 -0
  482. package/src/processor/presets.ts +68 -0
  483. package/src/processor/processor.test.ts +40 -0
  484. package/src/processor/processor.ts +321 -0
  485. package/src/queue-logger.ts +33 -23
  486. package/src/testing/index.ts +1 -1
  487. package/src/testing/test-generator.ts +293 -0
  488. package/src/testing/test-sequence.ts +5 -32
  489. package/src/testing/test-services.ts +10 -14
  490. package/src/testing/trace-timeline.conversations.json +1 -0
  491. package/src/testing/trace-timeline.test.ts +246 -0
  492. package/src/translations.ts +166 -55
  493. package/src/types/Assistant.ts +14 -0
  494. package/src/types/Settings.ts +21 -0
  495. package/src/types/capabilities.ts +35 -0
  496. package/src/types/defs.ts +5 -0
  497. package/src/types/events.ts +11 -0
  498. package/src/types/index.ts +8 -2
  499. package/src/types/service.ts +27 -16
  500. package/src/vite-env.d.ts +30 -0
  501. package/dist/lib/browser/ChatContainer-6XNB5NEI.mjs +0 -57
  502. package/dist/lib/browser/ChatContainer-6XNB5NEI.mjs.map +0 -7
  503. package/dist/lib/browser/ChatDialog-IMWPRXTO.mjs +0 -74
  504. package/dist/lib/browser/ChatDialog-IMWPRXTO.mjs.map +0 -7
  505. package/dist/lib/browser/SequenceContainer-6XOYB2RN.mjs +0 -322
  506. package/dist/lib/browser/SequenceContainer-6XOYB2RN.mjs.map +0 -7
  507. package/dist/lib/browser/TemplateContainer-6ZGGH5T4.mjs +0 -28
  508. package/dist/lib/browser/TemplateContainer-6ZGGH5T4.mjs.map +0 -7
  509. package/dist/lib/browser/ai-client-ML7OQWAO.mjs +0 -39
  510. package/dist/lib/browser/ai-client-ML7OQWAO.mjs.map +0 -7
  511. package/dist/lib/browser/app-graph-builder-UJ5NHRGK.mjs +0 -223
  512. package/dist/lib/browser/app-graph-builder-UJ5NHRGK.mjs.map +0 -7
  513. package/dist/lib/browser/chunk-44HZKIAW.mjs +0 -87
  514. package/dist/lib/browser/chunk-44HZKIAW.mjs.map +0 -7
  515. package/dist/lib/browser/chunk-LKP65RPA.mjs +0 -20
  516. package/dist/lib/browser/chunk-LKP65RPA.mjs.map +0 -7
  517. package/dist/lib/browser/chunk-NTBGTFTV.mjs +0 -15
  518. package/dist/lib/browser/chunk-NTBGTFTV.mjs.map +0 -7
  519. package/dist/lib/browser/chunk-OZL4OHTU.mjs +0 -157
  520. package/dist/lib/browser/chunk-OZL4OHTU.mjs.map +0 -7
  521. package/dist/lib/browser/chunk-TQ3QW3HJ.mjs +0 -2072
  522. package/dist/lib/browser/chunk-TQ3QW3HJ.mjs.map +0 -7
  523. package/dist/lib/browser/chunk-TU7UUGWQ.mjs +0 -203
  524. package/dist/lib/browser/chunk-TU7UUGWQ.mjs.map +0 -7
  525. package/dist/lib/browser/chunk-WPZ4UANI.mjs +0 -16
  526. package/dist/lib/browser/chunk-WPZ4UANI.mjs.map +0 -7
  527. package/dist/lib/browser/intent-resolver-LEAPB55Q.mjs +0 -42
  528. package/dist/lib/browser/intent-resolver-LEAPB55Q.mjs.map +0 -7
  529. package/dist/lib/browser/react-surface-TMF7JJA4.mjs +0 -156
  530. package/dist/lib/browser/react-surface-TMF7JJA4.mjs.map +0 -7
  531. package/dist/lib/browser/settings-N4HEXADL.mjs +0 -22
  532. package/dist/lib/browser/settings-N4HEXADL.mjs.map +0 -7
  533. package/dist/lib/node-esm/ChatContainer-VOLG7J6N.mjs +0 -58
  534. package/dist/lib/node-esm/ChatContainer-VOLG7J6N.mjs.map +0 -7
  535. package/dist/lib/node-esm/ChatDialog-B2XNUNRM.mjs +0 -75
  536. package/dist/lib/node-esm/ChatDialog-B2XNUNRM.mjs.map +0 -7
  537. package/dist/lib/node-esm/SequenceContainer-WWG6IMN3.mjs +0 -323
  538. package/dist/lib/node-esm/SequenceContainer-WWG6IMN3.mjs.map +0 -7
  539. package/dist/lib/node-esm/TemplateContainer-6KRNEMVE.mjs +0 -29
  540. package/dist/lib/node-esm/TemplateContainer-6KRNEMVE.mjs.map +0 -7
  541. package/dist/lib/node-esm/ai-client-2FQ434CT.mjs +0 -40
  542. package/dist/lib/node-esm/ai-client-2FQ434CT.mjs.map +0 -7
  543. package/dist/lib/node-esm/app-graph-builder-MEQ5CYNI.mjs +0 -224
  544. package/dist/lib/node-esm/app-graph-builder-MEQ5CYNI.mjs.map +0 -7
  545. package/dist/lib/node-esm/chunk-D3HTVK5D.mjs +0 -2073
  546. package/dist/lib/node-esm/chunk-D3HTVK5D.mjs.map +0 -7
  547. package/dist/lib/node-esm/chunk-E6V2RUQ2.mjs +0 -16
  548. package/dist/lib/node-esm/chunk-E6V2RUQ2.mjs.map +0 -7
  549. package/dist/lib/node-esm/chunk-HVMVHP4R.mjs +0 -158
  550. package/dist/lib/node-esm/chunk-HVMVHP4R.mjs.map +0 -7
  551. package/dist/lib/node-esm/chunk-HXKRKIN2.mjs +0 -18
  552. package/dist/lib/node-esm/chunk-HXKRKIN2.mjs.map +0 -7
  553. package/dist/lib/node-esm/chunk-KOC6ESG7.mjs +0 -22
  554. package/dist/lib/node-esm/chunk-KOC6ESG7.mjs.map +0 -7
  555. package/dist/lib/node-esm/chunk-VESVUAOS.mjs +0 -88
  556. package/dist/lib/node-esm/chunk-VESVUAOS.mjs.map +0 -7
  557. package/dist/lib/node-esm/chunk-YYUVTTVK.mjs +0 -204
  558. package/dist/lib/node-esm/chunk-YYUVTTVK.mjs.map +0 -7
  559. package/dist/lib/node-esm/intent-resolver-4ULF3F7U.mjs +0 -43
  560. package/dist/lib/node-esm/intent-resolver-4ULF3F7U.mjs.map +0 -7
  561. package/dist/lib/node-esm/react-surface-6XL6SWL2.mjs +0 -157
  562. package/dist/lib/node-esm/react-surface-6XL6SWL2.mjs.map +0 -7
  563. package/dist/lib/node-esm/settings-WQ76EG6O.mjs +0 -23
  564. package/dist/lib/node-esm/settings-WQ76EG6O.mjs.map +0 -7
  565. package/dist/types/src/capabilities/ai-client.d.ts +0 -5
  566. package/dist/types/src/capabilities/ai-client.d.ts.map +0 -1
  567. package/dist/types/src/capabilities/capabilities.d.ts +0 -6
  568. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  569. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  570. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  571. package/dist/types/src/components/ChatContainer.d.ts +0 -11
  572. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  573. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  574. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
  575. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
  576. package/dist/types/src/components/ChatPrompt/events.d.ts +0 -17
  577. package/dist/types/src/components/ChatPrompt/events.d.ts.map +0 -1
  578. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -18
  579. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
  580. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -18
  581. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
  582. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  583. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  584. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  585. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  586. package/dist/types/src/components/SequenceContainer.d.ts +0 -9
  587. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  588. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  589. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  590. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
  591. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  592. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  593. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  594. package/dist/types/src/components/TemplateContainer.d.ts +0 -9
  595. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  596. package/dist/types/src/events.d.ts +0 -4
  597. package/dist/types/src/events.d.ts.map +0 -1
  598. package/dist/types/src/hooks/chat-processor.d.ts +0 -82
  599. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  600. package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
  601. package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
  602. package/dist/types/src/hooks/useBlueprints.d.ts +0 -4
  603. package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
  604. package/dist/types/src/hooks/useContextProvider.d.ts +0 -23
  605. package/dist/types/src/hooks/useContextProvider.d.ts.map +0 -1
  606. package/dist/types/src/hooks/useServiceContainer.d.ts +0 -8
  607. package/dist/types/src/hooks/useServiceContainer.d.ts.map +0 -1
  608. package/dist/types/src/hooks/useTextInputEvents.d.ts +0 -13
  609. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +0 -1
  610. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  611. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  612. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  613. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  614. package/dist/types/src/parser/index.d.ts +0 -4
  615. package/dist/types/src/parser/index.d.ts.map +0 -1
  616. package/dist/types/src/parser/query-parser.d.ts +0 -15
  617. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  618. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  619. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  620. package/dist/types/src/parser/types.d.ts +0 -24
  621. package/dist/types/src/parser/types.d.ts.map +0 -1
  622. package/dist/types/src/stories/Chat.stories.d.ts +0 -199
  623. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  624. package/dist/types/src/testing/test-functions.d.ts +0 -3
  625. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  626. package/dist/types/src/tools/function.d.ts +0 -5
  627. package/dist/types/src/tools/function.d.ts.map +0 -1
  628. package/dist/types/src/tools/index.d.ts +0 -3
  629. package/dist/types/src/tools/index.d.ts.map +0 -1
  630. package/dist/types/src/tools/openapi.d.ts +0 -10
  631. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  632. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  633. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  634. package/dist/types/src/types/schema.d.ts +0 -71
  635. package/dist/types/src/types/schema.d.ts.map +0 -1
  636. package/dist/types/src/types/template.d.ts +0 -56
  637. package/dist/types/src/types/template.d.ts.map +0 -1
  638. package/src/capabilities/ai-client.ts +0 -39
  639. package/src/capabilities/capabilities.ts +0 -14
  640. package/src/capabilities/intent-resolver.ts +0 -45
  641. package/src/components/ChatContainer.tsx +0 -45
  642. package/src/components/ChatDialog.tsx +0 -65
  643. package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
  644. package/src/components/ChatPrompt/events.ts +0 -12
  645. package/src/components/ChatThread/ChatMessage.tsx +0 -238
  646. package/src/components/ChatThread/ToolBlock.tsx +0 -111
  647. package/src/components/ChatThread/reducer.ts +0 -52
  648. package/src/components/PromptSettings.tsx +0 -91
  649. package/src/components/SequenceContainer.tsx +0 -139
  650. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -32
  651. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  652. package/src/components/TemplateContainer.tsx +0 -25
  653. package/src/events.ts +0 -11
  654. package/src/hooks/chat-processor.test.ts +0 -15
  655. package/src/hooks/chat-processor.ts +0 -281
  656. package/src/hooks/useBlueprints.ts +0 -31
  657. package/src/hooks/useChatProcessor.tsx +0 -142
  658. package/src/hooks/useContextProvider.ts +0 -61
  659. package/src/hooks/useServiceContainer.ts +0 -42
  660. package/src/hooks/useTextInputEvents.ts +0 -49
  661. package/src/parser/filter-generator.test.ts +0 -32
  662. package/src/parser/filter-generator.ts +0 -81
  663. package/src/parser/index.ts +0 -7
  664. package/src/parser/query-parser.test.ts +0 -139
  665. package/src/parser/query-parser.ts +0 -199
  666. package/src/parser/types.ts +0 -34
  667. package/src/shims.d.ts +0 -8
  668. package/src/stories/Chat.stories.tsx +0 -269
  669. package/src/testing/test-functions.ts +0 -11
  670. package/src/tools/function.ts +0 -46
  671. package/src/tools/index.ts +0 -6
  672. package/src/tools/openapi.test.ts +0 -217
  673. package/src/tools/openapi.ts +0 -338
  674. package/src/types/schema.ts +0 -86
  675. package/src/types/template.ts +0 -66
  676. package/src/typings.d.ts +0 -9
@@ -0,0 +1,178 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { DXN } from '@dxos/keys';
6
+
7
+ /**
8
+ * Patterns for extracting DXN references from tool call params/results.
9
+ *
10
+ * Supported formats:
11
+ * - `{ "/": "dxn:..." }` - IPLD-style encoded references
12
+ * - `{ "@dxn": "dxn:..." }` - Alternative format with @dxn key
13
+ * - `@dxn:...` - In-text references (with @ prefix)
14
+ * - `dxn:...` - Plain DXN strings
15
+ */
16
+
17
+ /**
18
+ * Regex to match DXN strings in various formats.
19
+ * Matches: dxn:kind:part1:part2:...
20
+ */
21
+ const DXN_PATTERN = /dxn:[a-zA-Z0-9]+(?::[a-zA-Z0-9@_-]+)+/g;
22
+
23
+ /**
24
+ * Regex to match @dxn: prefixed references in text.
25
+ */
26
+ const AT_DXN_PATTERN = /@(dxn:[a-zA-Z0-9]+(?::[a-zA-Z0-9@_-]+)+)/g;
27
+
28
+ /**
29
+ * Extracts all DXN references from a string.
30
+ */
31
+ export const extractDxnsFromString = (text: string): DXN[] => {
32
+ const dxns: DXN[] = [];
33
+ const seen = new Set<string>();
34
+
35
+ // Match @dxn: prefixed references.
36
+ let match;
37
+ while ((match = AT_DXN_PATTERN.exec(text)) !== null) {
38
+ const dxnStr = match[1];
39
+ if (!seen.has(dxnStr)) {
40
+ const dxn = DXN.tryParse(dxnStr);
41
+ if (dxn) {
42
+ dxns.push(dxn);
43
+ seen.add(dxnStr);
44
+ }
45
+ }
46
+ }
47
+
48
+ // Match plain dxn: strings.
49
+ while ((match = DXN_PATTERN.exec(text)) !== null) {
50
+ const dxnStr = match[0];
51
+ if (!seen.has(dxnStr)) {
52
+ const dxn = DXN.tryParse(dxnStr);
53
+ if (dxn) {
54
+ dxns.push(dxn);
55
+ seen.add(dxnStr);
56
+ }
57
+ }
58
+ }
59
+
60
+ return dxns;
61
+ };
62
+
63
+ /**
64
+ * Extracts DXN references from a JSON object.
65
+ * Handles IPLD-style references `{ "/": "dxn:..." }` and `{ "@dxn": "dxn:..." }`.
66
+ */
67
+ export const extractDxnsFromObject = (obj: unknown): DXN[] => {
68
+ const dxns: DXN[] = [];
69
+ const seen = new Set<string>();
70
+
71
+ const addDxn = (dxnStr: string) => {
72
+ if (!seen.has(dxnStr)) {
73
+ const dxn = DXN.tryParse(dxnStr);
74
+ if (dxn) {
75
+ dxns.push(dxn);
76
+ seen.add(dxnStr);
77
+ }
78
+ }
79
+ };
80
+
81
+ const traverse = (value: unknown): void => {
82
+ if (value === null || value === undefined) {
83
+ return;
84
+ }
85
+
86
+ if (typeof value === 'string') {
87
+ // Check if the string itself is a DXN.
88
+ if (value.startsWith('dxn:')) {
89
+ addDxn(value);
90
+ } else if (value.startsWith('@dxn:')) {
91
+ addDxn(value.slice(1));
92
+ }
93
+ // Also extract DXNs from within the string.
94
+ const extracted = extractDxnsFromString(value);
95
+ for (const dxn of extracted) {
96
+ addDxn(dxn.toString());
97
+ }
98
+ return;
99
+ }
100
+
101
+ if (Array.isArray(value)) {
102
+ for (const item of value) {
103
+ traverse(item);
104
+ }
105
+ return;
106
+ }
107
+
108
+ if (typeof value === 'object') {
109
+ const record = value as Record<string, unknown>;
110
+
111
+ // Check for IPLD-style reference: { "/": "dxn:..." }
112
+ if ('/' in record && typeof record['/'] === 'string') {
113
+ const dxnStr = record['/'];
114
+ if (typeof dxnStr === 'string' && dxnStr.startsWith('dxn:')) {
115
+ addDxn(dxnStr);
116
+ }
117
+ }
118
+
119
+ // Check for @dxn key: { "@dxn": "dxn:..." }
120
+ if ('@dxn' in record && typeof record['@dxn'] === 'string') {
121
+ const dxnStr = record['@dxn'];
122
+ if (typeof dxnStr === 'string' && dxnStr.startsWith('dxn:')) {
123
+ addDxn(dxnStr);
124
+ }
125
+ }
126
+
127
+ // Check for reference blocks: { _tag: 'reference', reference: { dxn: ... } }
128
+ if (record._tag === 'reference' && record.reference && typeof record.reference === 'object') {
129
+ const ref = record.reference as Record<string, unknown>;
130
+ if (ref.dxn && typeof ref.dxn === 'string') {
131
+ addDxn(ref.dxn);
132
+ }
133
+ }
134
+
135
+ // Recursively traverse all properties.
136
+ for (const key of Object.keys(record)) {
137
+ traverse(record[key]);
138
+ }
139
+ }
140
+ };
141
+
142
+ traverse(obj);
143
+ return dxns;
144
+ };
145
+
146
+ /**
147
+ * Extracts the first DXN from a tool call input string (JSON).
148
+ */
149
+ export const extractFirstDxnFromToolInput = (input: string): DXN | undefined => {
150
+ try {
151
+ const parsed = JSON.parse(input);
152
+ const dxns = extractDxnsFromObject(parsed);
153
+ return dxns[0];
154
+ } catch {
155
+ // If JSON parsing fails, try to extract from the raw string.
156
+ const dxns = extractDxnsFromString(input);
157
+ return dxns[0];
158
+ }
159
+ };
160
+
161
+ /**
162
+ * Extracts the first DXN from a tool result string (JSON).
163
+ */
164
+ export const extractFirstDxnFromToolResult = (result: string | undefined): DXN | undefined => {
165
+ if (!result) {
166
+ return undefined;
167
+ }
168
+
169
+ try {
170
+ const parsed = JSON.parse(result);
171
+ const dxns = extractDxnsFromObject(parsed);
172
+ return dxns[0];
173
+ } catch {
174
+ // If JSON parsing fails, try to extract from the raw string.
175
+ const dxns = extractDxnsFromString(result);
176
+ return dxns[0];
177
+ }
178
+ };
@@ -0,0 +1,425 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { AGENT_PROCESS_KEY, AgentRequestBegin, AgentRequestEnd, CompleteBlock } from '@dxos/assistant';
6
+ import { Trace } from '@dxos/functions';
7
+ import { Process } from '@dxos/functions-runtime';
8
+ import { LogLevel } from '@dxos/log';
9
+ import { type Commit } from '@dxos/react-ui-components';
10
+
11
+ /**
12
+ * Branch name for top-level operation invocations.
13
+ */
14
+ const MAIN_BRANCH = 'main';
15
+
16
+ const ICONS = {
17
+ agentRequestBegin: {
18
+ icon: 'ph--atom--regular',
19
+ level: LogLevel.VERBOSE,
20
+ },
21
+ agentRequestEnd: {
22
+ icon: 'ph--check-circle--regular',
23
+ level: LogLevel.INFO,
24
+ },
25
+ userMessage: {
26
+ icon: 'ph--user--regular',
27
+ level: LogLevel.VERBOSE,
28
+ },
29
+ assistantMessage: {
30
+ icon: 'ph--drone--regular',
31
+ level: LogLevel.VERBOSE,
32
+ },
33
+ statusMessage: {
34
+ icon: 'ph--dot-outline--regular',
35
+ level: LogLevel.VERBOSE,
36
+ },
37
+ toolCall: {
38
+ icon: 'ph--wrench--regular',
39
+ level: LogLevel.VERBOSE,
40
+ },
41
+ toolResult: {
42
+ icon: 'ph--wrench--regular',
43
+ level: LogLevel.INFO,
44
+ },
45
+ toolResultError: {
46
+ icon: 'ph--wrench--regular',
47
+ level: LogLevel.ERROR,
48
+ },
49
+ toolResultSuccess: {
50
+ icon: 'ph--check-circle--regular',
51
+ level: LogLevel.INFO,
52
+ },
53
+ runningAgent: {
54
+ icon: 'ph--spinner-gap--regular',
55
+ level: LogLevel.INFO,
56
+ },
57
+ operationStart: {
58
+ icon: 'ph--play--regular',
59
+ level: LogLevel.VERBOSE,
60
+ },
61
+ operationEnd: {
62
+ icon: 'ph--check-circle--regular',
63
+ level: LogLevel.INFO,
64
+ },
65
+ operationEndError: {
66
+ icon: 'ph--x-circle--regular',
67
+ level: LogLevel.ERROR,
68
+ },
69
+ operationEndSuccess: {
70
+ icon: 'ph--check-circle--regular',
71
+ level: LogLevel.INFO,
72
+ },
73
+ agentRequestRunning: {
74
+ icon: 'ph--spinner-gap--regular',
75
+ level: LogLevel.INFO,
76
+ },
77
+ } as const;
78
+
79
+ const tagPid = (pid: string) => `pid:${pid}`;
80
+ const tagParentPid = (parentPid: string) => `parent-pid:${parentPid}`;
81
+ const tagConversation = (conversationId: string) => `conversation:${conversationId}`;
82
+ const tagOperationBegin = (pid: string) => `operation-begin:${pid}`;
83
+
84
+ const getTags = (meta: Trace.Meta) => {
85
+ const tags: string[] = [];
86
+ if (meta.pid) {
87
+ tags.push(tagPid(meta.pid));
88
+ }
89
+ if (meta.parentPid) {
90
+ tags.push(tagParentPid(meta.parentPid));
91
+ }
92
+ if (meta.conversationId) {
93
+ tags.push(tagConversation(meta.conversationId));
94
+ }
95
+ return tags;
96
+ };
97
+
98
+ export interface BuildExecutionGraphParams {
99
+ traceMessages: Trace.Message[];
100
+ activeProcesses?: readonly Process.Info[];
101
+ eventLimit?: number;
102
+ }
103
+
104
+ /**
105
+ * Builds a Timeline-compatible execution graph from trace messages and active processes.
106
+ * Pure function — no signals or atoms.
107
+ */
108
+ export const buildExecutionGraph = ({
109
+ traceMessages,
110
+ activeProcesses = [],
111
+ eventLimit = 500,
112
+ }: BuildExecutionGraphParams): { branches: string[]; commits: Commit[] } => {
113
+ const builder = new GraphBuilder();
114
+
115
+ const events = traceMessages.slice(-eventLimit).flatMap((message) =>
116
+ message.events.map((event: Trace.Event) => ({
117
+ id: message.id,
118
+ meta: message.meta,
119
+ ...event,
120
+ })),
121
+ );
122
+
123
+ builder.addBranch(MAIN_BRANCH);
124
+
125
+ for (const event of events) {
126
+ if (Trace.isOfType(AgentRequestBegin, event)) {
127
+ builder.addCommit({
128
+ id: event.id,
129
+ branch: event.meta.parentPid ?? MAIN_BRANCH,
130
+ parents: builder.computeParents([{ branch: event.meta.parentPid ?? MAIN_BRANCH }]),
131
+ tags: getTags(event.meta),
132
+ timestamp: new Date(event.timestamp),
133
+ icon: ICONS.agentRequestBegin.icon,
134
+ level: ICONS.agentRequestBegin.level,
135
+ message: 'Agent processing request...',
136
+ });
137
+ } else if (Trace.isOfType(AgentRequestEnd, event)) {
138
+ builder.addCommit({
139
+ id: event.id,
140
+ branch: event.meta.parentPid ?? MAIN_BRANCH,
141
+ parents: builder.computeParents([
142
+ { branch: event.meta.parentPid ?? MAIN_BRANCH },
143
+ { commit: { tags: [event.meta.pid && tagPid(event.meta.pid)] } },
144
+ ]),
145
+ tags: getTags(event.meta),
146
+ timestamp: new Date(event.timestamp),
147
+ icon: ICONS.agentRequestEnd.icon,
148
+ level: ICONS.agentRequestEnd.level,
149
+ message: 'Agent completed request',
150
+ });
151
+ } else if (Trace.isOfType(CompleteBlock, event)) {
152
+ switch (event.data.block._tag) {
153
+ case 'text': {
154
+ if (event.data.role === 'user') {
155
+ builder.addCommit({
156
+ id: event.id,
157
+ branch: event.meta.pid ?? MAIN_BRANCH,
158
+ parents: builder.computeParents([
159
+ {
160
+ branch: event.meta.pid ?? MAIN_BRANCH,
161
+ fallback: { tags: [event.meta.pid && tagPid(event.meta.pid)] },
162
+ },
163
+ ]),
164
+ tags: getTags(event.meta),
165
+ timestamp: new Date(event.timestamp),
166
+ icon: ICONS.userMessage.icon,
167
+ level: ICONS.userMessage.level,
168
+ message: trimText(event.data.block.text),
169
+ });
170
+ }
171
+ break;
172
+ }
173
+ case 'status': {
174
+ builder.addCommit({
175
+ id: event.id,
176
+ branch: event.meta.pid ?? MAIN_BRANCH,
177
+ parents: builder.computeParents([
178
+ {
179
+ branch: event.meta.pid ?? MAIN_BRANCH,
180
+ fallback: { tags: [event.meta.pid && tagPid(event.meta.pid)] },
181
+ },
182
+ ]),
183
+ tags: getTags(event.meta),
184
+ timestamp: new Date(event.timestamp),
185
+ icon: ICONS.statusMessage.icon,
186
+ level: ICONS.statusMessage.level,
187
+ message: trimText(event.data.block.statusText),
188
+ });
189
+ break;
190
+ }
191
+ case 'toolCall': {
192
+ builder.addCommit({
193
+ id: `${event.data.block.toolCallId}:call`,
194
+ branch: event.meta.pid ?? MAIN_BRANCH,
195
+ parents: builder.computeParents([
196
+ {
197
+ branch: event.meta.pid ?? MAIN_BRANCH,
198
+ fallback: { tags: [event.meta.pid && tagPid(event.meta.pid)] },
199
+ },
200
+ ]),
201
+ tags: getTags(event.meta),
202
+ timestamp: new Date(event.timestamp),
203
+ icon: ICONS.toolCall.icon,
204
+ level: ICONS.toolCall.level,
205
+ message: event.data.block.name,
206
+ });
207
+ break;
208
+ }
209
+ case 'toolResult': {
210
+ builder.addCommit(
211
+ {
212
+ id: `${event.data.block.toolCallId}:result`,
213
+ branch: event.meta.pid ?? MAIN_BRANCH,
214
+ parents: builder.computeParents([
215
+ {
216
+ branch: event.meta.pid ?? MAIN_BRANCH,
217
+ fallback: { tags: [event.meta.pid && tagPid(event.meta.pid)] },
218
+ },
219
+ ]),
220
+ tags: getTags(event.meta),
221
+ timestamp: new Date(event.timestamp),
222
+ icon: event.data.block.error ? ICONS.toolResultError.icon : ICONS.toolResultSuccess.icon,
223
+ level: event.data.block.error ? ICONS.toolResultError.level : ICONS.toolResultSuccess.level,
224
+ message: event.data.block.error
225
+ ? `${event.data.block.name} - Error: ${trimText(event.data.block.error)}`
226
+ : `${event.data.block.name} - Success`,
227
+ },
228
+ {
229
+ replace: {
230
+ id: [`${event.data.block.toolCallId}:call`],
231
+ },
232
+ },
233
+ );
234
+ break;
235
+ }
236
+ }
237
+ } else if (Trace.isOfType(Trace.OperationStart, event)) {
238
+ if (!event.meta.conversationId) {
239
+ // Ignoring tool calls.
240
+ builder.addCommit({
241
+ id: `${event.id}:${event.data.key}:start`,
242
+ branch: event.meta.parentPid ?? MAIN_BRANCH,
243
+ parents: builder.computeParents([
244
+ {
245
+ branch: event.meta.parentPid ?? MAIN_BRANCH,
246
+ fallback: { tags: [event.meta.parentPid && tagPid(event.meta.parentPid)] },
247
+ },
248
+ ]),
249
+ tags: [...getTags(event.meta), tagOperationBegin(event.meta.pid ?? 'unknown')],
250
+ timestamp: new Date(event.timestamp),
251
+ icon: ICONS.operationStart.icon,
252
+ level: ICONS.operationStart.level,
253
+ message: event.data.name ?? event.data.key,
254
+ });
255
+ }
256
+ } else if (Trace.isOfType(Trace.OperationEnd, event)) {
257
+ if (!event.meta.conversationId) {
258
+ // Ignoring tool calls.
259
+ const children = builder.findCommits({ tags: [event.meta.pid && tagPid(event.meta.pid)] });
260
+ builder.addCommit(
261
+ {
262
+ id: `${event.id}:${event.data.key}:end`,
263
+ branch: event.meta.parentPid ?? MAIN_BRANCH,
264
+ parents: builder.computeParents([
265
+ {
266
+ branch: event.meta.parentPid ?? MAIN_BRANCH,
267
+ fallback: { tags: [event.meta.parentPid && tagPid(event.meta.parentPid)] },
268
+ },
269
+ { commit: { tags: [event.meta.pid && tagPid(event.meta.pid)] } },
270
+ ]),
271
+ tags: getTags(event.meta),
272
+ timestamp: new Date(event.timestamp),
273
+ icon: event.data.outcome === 'success' ? ICONS.operationEndSuccess.icon : ICONS.operationEndError.icon,
274
+ level: event.data.outcome === 'success' ? ICONS.operationEndSuccess.level : ICONS.operationEndError.level,
275
+ message: event.data.name ?? event.data.key,
276
+ },
277
+ {
278
+ replace:
279
+ // TODO(dmaretskyi): Deduping events in subbranches brekas graph.
280
+ !event.meta.parentPid && children.length > 1 // 1 is the operation begin commit.
281
+ ? undefined
282
+ : {
283
+ tags: [tagOperationBegin(event.meta.pid ?? 'unknown')],
284
+ },
285
+ },
286
+ );
287
+ }
288
+ }
289
+ }
290
+
291
+ for (const process of activeProcesses) {
292
+ if (
293
+ process.key === AGENT_PROCESS_KEY &&
294
+ process.params.target &&
295
+ (process.state === Process.State.RUNNING || process.state === Process.State.HYBERNATING)
296
+ ) {
297
+ builder.addCommit({
298
+ id: `running:${process.pid}`,
299
+ branch: process.pid,
300
+ parents: builder.computeParents([{ branch: process.pid }]),
301
+ icon: ICONS.agentRequestRunning.icon,
302
+ level: ICONS.agentRequestRunning.level,
303
+ message: 'Generating...',
304
+ timestamp: new Date(),
305
+ });
306
+ }
307
+ }
308
+
309
+ return builder.build();
310
+ };
311
+
312
+ type Falsy = false | null | undefined;
313
+ type MaybeFalsy<T> = T | Falsy;
314
+
315
+ type CommitSelector = { id?: MaybeFalsy<string>[]; tags?: MaybeFalsy<string>[] };
316
+
317
+ class GraphBuilder {
318
+ #commits: Commit[] = [];
319
+ #branches = new Set<string>();
320
+
321
+ findCommits(selector: CommitSelector) {
322
+ return this.#commits.filter((commit) => {
323
+ if (selector.id && selector.id.includes(commit.id)) {
324
+ return true;
325
+ }
326
+ if (selector.tags && selector.tags.some((tag) => tag && commit.tags?.includes(tag))) {
327
+ return true;
328
+ }
329
+ return false;
330
+ });
331
+ }
332
+
333
+ addCommit(
334
+ commit: Commit,
335
+ opts?: {
336
+ ifMissing?: CommitSelector;
337
+ /**
338
+ * Replace in-place the last commit that matches the selector.
339
+ */
340
+ replace?: CommitSelector;
341
+ },
342
+ ) {
343
+ if (opts?.ifMissing) {
344
+ const commits = this.findCommits(opts.ifMissing);
345
+ if (commits.length > 0) {
346
+ return;
347
+ }
348
+ }
349
+ this.addBranch(commit.branch);
350
+ if (opts?.replace) {
351
+ const commits = this.findCommits(opts.replace);
352
+ if (commits.length > 0) {
353
+ this.#commits[this.#commits.indexOf(commits.at(-1)!)] = commit;
354
+ return;
355
+ }
356
+ }
357
+ this.#commits.push(commit);
358
+ }
359
+
360
+ removeCommit(selector: CommitSelector) {
361
+ const commits = this.findCommits(selector);
362
+ for (const commit of commits) {
363
+ this.#commits.splice(this.#commits.indexOf(commit), 1);
364
+ }
365
+ }
366
+
367
+ /**
368
+ * Computes parents based on a list of specs.
369
+ */
370
+ computeParents(
371
+ specs: (
372
+ | {
373
+ /**
374
+ * Parent commits selector.
375
+ */
376
+ commit?: CommitSelector;
377
+ }
378
+ | {
379
+ /**
380
+ * Last commit on this branch as parent.
381
+ */
382
+ branch?: string;
383
+
384
+ /**
385
+ * Fallback if branch has no commits.
386
+ */
387
+ fallback?: CommitSelector;
388
+ }
389
+ )[],
390
+ ): string[] {
391
+ return specs.flatMap((spec) => {
392
+ if ('commit' in spec && spec.commit) {
393
+ return this.findCommits(spec.commit)
394
+ .slice(-1)
395
+ .map((commit) => commit.id);
396
+ }
397
+ if ('branch' in spec && spec.branch) {
398
+ const lastCommit = this.#commits.findLast((commit) => commit.branch === spec.branch);
399
+ if (lastCommit) {
400
+ return [lastCommit.id];
401
+ } else if (spec.fallback) {
402
+ return this.findCommits(spec.fallback)
403
+ .slice(-1)
404
+ .map((commit) => commit.id);
405
+ } else {
406
+ return [];
407
+ }
408
+ }
409
+ return [];
410
+ });
411
+ }
412
+
413
+ addBranch(branch: string) {
414
+ this.#branches.add(branch);
415
+ }
416
+
417
+ build() {
418
+ return {
419
+ commits: this.#commits,
420
+ branches: [...this.#branches],
421
+ };
422
+ }
423
+ }
424
+
425
+ const trimText = (text: string) => text.slice(0, 100).trim().split('\n')[0];
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { TracePanel } from './TracePanel';
6
+
7
+ export * from './TracePanel';
8
+
9
+ export default TracePanel;