@dxos/plugin-assistant 0.8.4-main.67995b8 → 0.8.4-main.6fa680abb7

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 (611) hide show
  1. package/dist/lib/browser/AssistantSettings-PP6JSHWB.mjs +93 -0
  2. package/dist/lib/browser/AssistantSettings-PP6JSHWB.mjs.map +7 -0
  3. package/dist/lib/browser/BlueprintArticle-H6R33TZZ.mjs +35 -0
  4. package/dist/lib/browser/BlueprintArticle-H6R33TZZ.mjs.map +7 -0
  5. package/dist/lib/browser/ChatCompanion-GXS6DK4X.mjs +202 -0
  6. package/dist/lib/browser/ChatCompanion-GXS6DK4X.mjs.map +7 -0
  7. package/dist/lib/browser/ChatContainer-SMSZXEF5.mjs +12 -0
  8. package/dist/lib/browser/ChatContainer-SMSZXEF5.mjs.map +7 -0
  9. package/dist/lib/browser/ChatDialog-ZCVPPONM.mjs +85 -0
  10. package/dist/lib/browser/ChatDialog-ZCVPPONM.mjs.map +7 -0
  11. package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs +91 -0
  12. package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs.map +7 -0
  13. package/dist/lib/browser/ProjectSettings-L5MCDUXK.mjs +232 -0
  14. package/dist/lib/browser/ProjectSettings-L5MCDUXK.mjs.map +7 -0
  15. package/dist/lib/browser/PromptArticle-G5YSAEGK.mjs +71 -0
  16. package/dist/lib/browser/PromptArticle-G5YSAEGK.mjs.map +7 -0
  17. package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs +112 -0
  18. package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs.map +7 -0
  19. package/dist/lib/browser/ai-service-CY2BYPH6.mjs +22 -0
  20. package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
  21. package/dist/lib/browser/app-graph-builder-ECQCWGCN.mjs +224 -0
  22. package/dist/lib/browser/app-graph-builder-ECQCWGCN.mjs.map +7 -0
  23. package/dist/lib/browser/blueprint-definition-CKG4TQ2J.mjs +35 -0
  24. package/dist/lib/browser/blueprint-definition-CKG4TQ2J.mjs.map +7 -0
  25. package/dist/lib/browser/blueprints/index.mjs +8 -0
  26. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-2VIEX4RA.mjs +23 -0
  28. package/dist/lib/browser/chunk-2VIEX4RA.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-734CB3XG.mjs +230 -0
  30. package/dist/lib/browser/chunk-734CB3XG.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-A346P45I.mjs +2125 -0
  32. package/dist/lib/browser/chunk-A346P45I.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-WP4WY2Y6.mjs +69 -0
  38. package/dist/lib/browser/chunk-WP4WY2Y6.mjs.map +7 -0
  39. package/dist/lib/browser/chunk-ZZRRSIQQ.mjs +26 -0
  40. package/dist/lib/browser/chunk-ZZRRSIQQ.mjs.map +7 -0
  41. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs +21 -0
  42. package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
  43. package/dist/lib/browser/index.mjs +295 -175
  44. package/dist/lib/browser/index.mjs.map +4 -4
  45. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs +20 -0
  46. package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
  47. package/dist/lib/browser/meta.json +1 -1
  48. package/dist/lib/browser/operation-resolver-DYSWWNVG.mjs +123 -0
  49. package/dist/lib/browser/operation-resolver-DYSWWNVG.mjs.map +7 -0
  50. package/dist/lib/browser/react-surface-M3GSSFPC.mjs +142 -0
  51. package/dist/lib/browser/react-surface-M3GSSFPC.mjs.map +7 -0
  52. package/dist/lib/browser/settings-NC5DQWES.mjs +33 -0
  53. package/dist/lib/browser/settings-NC5DQWES.mjs.map +7 -0
  54. package/dist/lib/browser/state-EMIKHGYZ.mjs +26 -0
  55. package/dist/lib/browser/state-EMIKHGYZ.mjs.map +7 -0
  56. package/dist/lib/browser/toolkit-XRSBBB3L.mjs +16 -0
  57. package/dist/lib/browser/toolkit-XRSBBB3L.mjs.map +7 -0
  58. package/dist/lib/browser/types/index.mjs +11 -4
  59. package/dist/lib/node-esm/AssistantSettings-3MNGBQB2.mjs +94 -0
  60. package/dist/lib/node-esm/AssistantSettings-3MNGBQB2.mjs.map +7 -0
  61. package/dist/lib/node-esm/BlueprintArticle-2KYFUQKY.mjs +36 -0
  62. package/dist/lib/node-esm/BlueprintArticle-2KYFUQKY.mjs.map +7 -0
  63. package/dist/lib/node-esm/ChatCompanion-MPQGSWZB.mjs +203 -0
  64. package/dist/lib/node-esm/ChatCompanion-MPQGSWZB.mjs.map +7 -0
  65. package/dist/lib/node-esm/ChatContainer-DMOAYUUM.mjs +13 -0
  66. package/dist/lib/node-esm/ChatContainer-DMOAYUUM.mjs.map +7 -0
  67. package/dist/lib/node-esm/ChatDialog-PV2EU2XM.mjs +86 -0
  68. package/dist/lib/node-esm/ChatDialog-PV2EU2XM.mjs.map +7 -0
  69. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs +92 -0
  70. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs.map +7 -0
  71. package/dist/lib/node-esm/ProjectSettings-K3YBQWDD.mjs +233 -0
  72. package/dist/lib/node-esm/ProjectSettings-K3YBQWDD.mjs.map +7 -0
  73. package/dist/lib/node-esm/PromptArticle-HAGZPZWV.mjs +72 -0
  74. package/dist/lib/node-esm/PromptArticle-HAGZPZWV.mjs.map +7 -0
  75. package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs +113 -0
  76. package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs.map +7 -0
  77. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs +23 -0
  78. package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
  79. package/dist/lib/node-esm/app-graph-builder-YPHP6X6W.mjs +225 -0
  80. package/dist/lib/node-esm/app-graph-builder-YPHP6X6W.mjs.map +7 -0
  81. package/dist/lib/node-esm/blueprint-definition-UZWGSFBI.mjs +36 -0
  82. package/dist/lib/node-esm/blueprint-definition-UZWGSFBI.mjs.map +7 -0
  83. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  84. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-5DLYAEBK.mjs +2126 -0
  86. package/dist/lib/node-esm/chunk-5DLYAEBK.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-AK3JJ76X.mjs +28 -0
  88. package/dist/lib/node-esm/chunk-AK3JJ76X.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  90. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs +288 -0
  92. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
  93. package/dist/lib/node-esm/chunk-JQAXFBBU.mjs +231 -0
  94. package/dist/lib/node-esm/chunk-JQAXFBBU.mjs.map +7 -0
  95. package/dist/lib/node-esm/chunk-TEYTGR67.mjs +25 -0
  96. package/dist/lib/node-esm/chunk-TEYTGR67.mjs.map +7 -0
  97. package/dist/lib/node-esm/chunk-ZTL6HRDB.mjs +70 -0
  98. package/dist/lib/node-esm/chunk-ZTL6HRDB.mjs.map +7 -0
  99. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs +22 -0
  100. package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
  101. package/dist/lib/node-esm/index.mjs +295 -175
  102. package/dist/lib/node-esm/index.mjs.map +4 -4
  103. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs +21 -0
  104. package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
  105. package/dist/lib/node-esm/meta.json +1 -1
  106. package/dist/lib/node-esm/operation-resolver-EE4EBO2Y.mjs +124 -0
  107. package/dist/lib/node-esm/operation-resolver-EE4EBO2Y.mjs.map +7 -0
  108. package/dist/lib/node-esm/react-surface-U3PGFTKA.mjs +143 -0
  109. package/dist/lib/node-esm/react-surface-U3PGFTKA.mjs.map +7 -0
  110. package/dist/lib/node-esm/settings-OOAN5LAO.mjs +34 -0
  111. package/dist/lib/node-esm/settings-OOAN5LAO.mjs.map +7 -0
  112. package/dist/lib/node-esm/state-7A7QPQKK.mjs +27 -0
  113. package/dist/lib/node-esm/state-7A7QPQKK.mjs.map +7 -0
  114. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs +17 -0
  115. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs.map +7 -0
  116. package/dist/lib/node-esm/types/index.mjs +11 -4
  117. package/dist/types/src/AssistantPlugin.d.ts +2 -1
  118. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  119. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  120. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  121. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  122. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  123. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  124. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  125. package/dist/types/src/blueprints/index.d.ts +2 -0
  126. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +6 -0
  128. package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
  130. package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  132. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  134. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  136. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  138. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +7 -0
  140. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
  142. package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/index.d.ts +10 -4
  144. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  145. package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
  146. package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +13 -0
  148. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  150. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  152. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  154. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  156. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/settings/index.d.ts +15 -0
  158. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/settings/settings.d.ts +18 -0
  160. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/state/index.d.ts +11 -0
  162. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  163. package/dist/types/src/capabilities/state/state.d.ts +13 -0
  164. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  165. package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
  166. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
  167. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +6 -0
  168. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
  169. package/dist/types/src/components/Chat/Chat.d.ts +39 -22
  170. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  171. package/dist/types/src/components/Chat/events.d.ts +10 -1
  172. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  173. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
  174. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
  175. package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
  176. package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
  177. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  178. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
  179. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
  180. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  181. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -6
  182. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  183. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
  184. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  185. package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
  186. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  187. package/dist/types/src/components/ChatThread/ChatThread.d.ts +13 -11
  188. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  189. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +318 -56
  190. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  191. package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
  192. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
  193. package/dist/types/src/components/ChatThread/registry.d.ts +11 -0
  194. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  195. package/dist/types/src/components/ChatThread/sync.d.ts +42 -0
  196. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  197. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  198. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  199. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -6
  200. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  201. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +437 -7
  202. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  203. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +12 -2
  204. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  205. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +434 -2
  206. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  207. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
  208. package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
  209. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
  210. package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
  211. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
  212. package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
  213. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +21 -0
  214. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  215. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  216. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  217. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  218. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  219. package/dist/types/src/components/Toolbox/Toolbox.d.ts +10 -16
  220. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  221. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +438 -5
  222. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  223. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
  224. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
  225. package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
  226. package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
  227. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
  228. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
  229. package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
  230. package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
  231. package/dist/types/src/components/Typewriter/index.d.ts +2 -0
  232. package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
  233. package/dist/types/src/components/index.d.ts +0 -8
  234. package/dist/types/src/components/index.d.ts.map +1 -1
  235. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts +8 -0
  236. package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -0
  237. package/dist/types/src/containers/AssistantSettings/index.d.ts +3 -0
  238. package/dist/types/src/containers/AssistantSettings/index.d.ts.map +1 -0
  239. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
  240. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  241. package/dist/types/src/containers/BlueprintArticle/index.d.ts +3 -0
  242. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  243. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +12 -0
  244. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  245. package/dist/types/src/containers/ChatCompanion/index.d.ts +3 -0
  246. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  247. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +19 -0
  248. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  249. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  250. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  251. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
  252. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  253. package/dist/types/src/containers/ChatDialog/index.d.ts +3 -0
  254. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  255. package/dist/types/src/containers/Project/ProjectArticle.d.ts +7 -0
  256. package/dist/types/src/containers/Project/ProjectArticle.d.ts.map +1 -0
  257. package/dist/types/src/containers/Project/ProjectSettings.d.ts +6 -0
  258. package/dist/types/src/containers/Project/ProjectSettings.d.ts.map +1 -0
  259. package/dist/types/src/containers/Project/index.d.ts +7 -0
  260. package/dist/types/src/containers/Project/index.d.ts.map +1 -0
  261. package/dist/types/src/containers/Project/triggers.d.ts +6 -0
  262. package/dist/types/src/containers/Project/triggers.d.ts.map +1 -0
  263. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +6 -0
  264. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
  265. package/dist/types/src/containers/PromptArticle/index.d.ts +3 -0
  266. package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
  267. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
  268. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
  269. package/dist/types/src/containers/TriggerStatus/index.d.ts +3 -0
  270. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  271. package/dist/types/src/containers/index.d.ts +10 -0
  272. package/dist/types/src/containers/index.d.ts.map +1 -0
  273. package/dist/types/src/hooks/index.d.ts +8 -3
  274. package/dist/types/src/hooks/index.d.ts.map +1 -1
  275. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
  276. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
  277. package/dist/types/src/hooks/useChatProcessor.d.ts +10 -20
  278. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  279. package/dist/types/src/hooks/useChatServices.d.ts +7 -8
  280. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  281. package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
  282. package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
  283. package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
  284. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  285. package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
  286. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  287. package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
  288. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
  289. package/dist/types/src/hooks/useFlush.d.ts +6 -0
  290. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  291. package/dist/types/src/hooks/useOnline.d.ts +3 -0
  292. package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
  293. package/dist/types/src/hooks/usePresets.d.ts +7 -0
  294. package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
  295. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  296. package/dist/types/src/index.d.ts +3 -1
  297. package/dist/types/src/index.d.ts.map +1 -1
  298. package/dist/types/src/meta.d.ts +3 -4
  299. package/dist/types/src/meta.d.ts.map +1 -1
  300. package/dist/types/src/processor/index.d.ts +4 -0
  301. package/dist/types/src/processor/index.d.ts.map +1 -0
  302. package/dist/types/src/{hooks → processor}/presets.d.ts +3 -3
  303. package/dist/types/src/processor/presets.d.ts.map +1 -0
  304. package/dist/types/src/processor/processor.d.ts +79 -0
  305. package/dist/types/src/processor/processor.d.ts.map +1 -0
  306. package/dist/types/src/processor/processor.test.d.ts +2 -0
  307. package/dist/types/src/processor/processor.test.d.ts.map +1 -0
  308. package/dist/types/src/processor/update-name.d.ts +10 -0
  309. package/dist/types/src/processor/update-name.d.ts.map +1 -0
  310. package/dist/types/src/queue-logger.d.ts.map +1 -1
  311. package/dist/types/src/testing/index.d.ts +1 -1
  312. package/dist/types/src/testing/index.d.ts.map +1 -1
  313. package/dist/types/src/testing/test-generator.d.ts +8 -0
  314. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  315. package/dist/types/src/testing/test-sequence.d.ts +0 -4
  316. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  317. package/dist/types/src/testing/test-services.d.ts +2 -2
  318. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  319. package/dist/types/src/translations.d.ts +382 -28
  320. package/dist/types/src/translations.d.ts.map +1 -1
  321. package/dist/types/src/types/Assistant.d.ts +20 -0
  322. package/dist/types/src/types/Assistant.d.ts.map +1 -0
  323. package/dist/types/src/types/AssistantAction.d.ts +93 -0
  324. package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
  325. package/dist/types/src/types/capabilities.d.ts +33 -0
  326. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  327. package/dist/types/src/types/defs.d.ts +2 -0
  328. package/dist/types/src/types/defs.d.ts.map +1 -0
  329. package/dist/types/src/types/events.d.ts +5 -0
  330. package/dist/types/src/types/events.d.ts.map +1 -0
  331. package/dist/types/src/types/index.d.ts +6 -1
  332. package/dist/types/src/types/index.d.ts.map +1 -1
  333. package/dist/types/src/types/service.d.ts +14 -213
  334. package/dist/types/src/types/service.d.ts.map +1 -1
  335. package/dist/types/tsconfig.tsbuildinfo +1 -1
  336. package/package.json +127 -100
  337. package/src/AssistantPlugin.tsx +153 -113
  338. package/src/blueprints/assistant/blueprint.conversations.json +1 -0
  339. package/src/blueprints/assistant/blueprint.test.ts +48 -0
  340. package/src/blueprints/assistant/blueprint.ts +27 -0
  341. package/src/blueprints/assistant/index.ts +5 -0
  342. package/src/{components/SequenceEditor → blueprints}/index.ts +1 -1
  343. package/src/capabilities/ai-service/ai-service.ts +30 -0
  344. package/src/capabilities/ai-service/index.ts +7 -0
  345. package/src/capabilities/app-graph-builder/app-graph-builder.ts +197 -0
  346. package/src/capabilities/app-graph-builder/index.ts +7 -0
  347. package/src/capabilities/blueprint-definition/blueprint-definition.ts +50 -0
  348. package/src/capabilities/blueprint-definition/index.ts +7 -0
  349. package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +33 -0
  350. package/src/capabilities/edge-model-resolver/index.ts +7 -0
  351. package/src/capabilities/index.ts +10 -6
  352. package/src/capabilities/local-model-resolver/index.ts +7 -0
  353. package/src/capabilities/local-model-resolver/local-model-resolver.ts +38 -0
  354. package/src/capabilities/operation-resolver/index.ts +7 -0
  355. package/src/capabilities/operation-resolver/operation-resolver.ts +113 -0
  356. package/src/capabilities/react-surface/index.ts +7 -0
  357. package/src/capabilities/react-surface/react-surface.tsx +119 -0
  358. package/src/capabilities/settings/index.ts +7 -0
  359. package/src/capabilities/settings/settings.ts +31 -0
  360. package/src/capabilities/state/index.ts +7 -0
  361. package/src/capabilities/state/state.ts +27 -0
  362. package/src/capabilities/toolkit/index.ts +7 -0
  363. package/src/capabilities/toolkit/toolkit.ts +15 -0
  364. package/src/components/Chat/Chat.tsx +278 -198
  365. package/src/components/Chat/events.ts +14 -1
  366. package/src/components/ChatProgress/ChatProgress.tsx +53 -0
  367. package/src/components/ChatProgress/index.ts +5 -0
  368. package/src/components/ChatPrompt/ChatActions.tsx +20 -28
  369. package/src/components/ChatPrompt/ChatOptions.tsx +258 -0
  370. package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
  371. package/src/components/ChatPrompt/ChatReferences.tsx +42 -38
  372. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
  373. package/src/components/ChatPrompt/index.ts +1 -1
  374. package/src/components/ChatThread/ChatThread.stories.tsx +123 -116
  375. package/src/components/ChatThread/ChatThread.tsx +75 -36
  376. package/src/components/ChatThread/Link.tsx +26 -0
  377. package/src/components/ChatThread/registry.tsx +207 -0
  378. package/src/components/ChatThread/sync.test.ts +99 -0
  379. package/src/components/ChatThread/sync.ts +160 -0
  380. package/src/components/ChatThread/testing/thread.md +37 -0
  381. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +39 -18
  382. package/src/components/TemplateEditor/TemplateEditor.tsx +33 -54
  383. package/src/components/TemplateEditor/TemplateForm.stories.tsx +28 -15
  384. package/src/components/TemplateEditor/TemplateForm.tsx +84 -36
  385. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
  386. package/src/components/TemplateEditor/extensions/index.ts +6 -0
  387. package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
  388. package/src/components/ToolBlock/ToolBlock.tsx +143 -0
  389. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  390. package/src/components/ToolBlock/index.ts +6 -0
  391. package/src/components/Toolbox/Toolbox.stories.tsx +19 -29
  392. package/src/components/Toolbox/Toolbox.tsx +74 -104
  393. package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
  394. package/src/components/Typewriter/Typewriter.stories.tsx +86 -0
  395. package/src/components/Typewriter/Typewriter.tsx +54 -0
  396. package/src/components/Typewriter/assistant-extension.tsx +142 -0
  397. package/src/components/Typewriter/index.ts +5 -0
  398. package/src/components/index.ts +0 -13
  399. package/src/containers/AssistantSettings/AssistantSettings.tsx +120 -0
  400. package/src/containers/AssistantSettings/index.ts +7 -0
  401. package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
  402. package/src/containers/BlueprintArticle/index.ts +7 -0
  403. package/src/containers/ChatCompanion/ChatCompanion.tsx +225 -0
  404. package/src/containers/ChatCompanion/index.ts +7 -0
  405. package/src/containers/ChatContainer/ChatContainer.tsx +69 -0
  406. package/src/containers/ChatContainer/index.ts +7 -0
  407. package/src/containers/ChatDialog/ChatDialog.tsx +72 -0
  408. package/src/containers/ChatDialog/index.ts +7 -0
  409. package/src/containers/Project/ProjectArticle.tsx +117 -0
  410. package/src/containers/Project/ProjectSettings.tsx +134 -0
  411. package/src/containers/Project/index.ts +16 -0
  412. package/src/containers/Project/triggers.ts +149 -0
  413. package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
  414. package/src/containers/PromptArticle/index.ts +7 -0
  415. package/src/containers/TriggerStatus/TriggerStatus.tsx +140 -0
  416. package/src/containers/TriggerStatus/index.ts +7 -0
  417. package/src/containers/index.ts +15 -0
  418. package/src/hooks/index.ts +8 -4
  419. package/src/hooks/useBlueprintRegistry.ts +108 -0
  420. package/src/hooks/useChatProcessor.ts +40 -105
  421. package/src/hooks/useChatServices.ts +31 -51
  422. package/src/hooks/useChatToolbarActions.ts +122 -0
  423. package/src/hooks/useContextBinder.ts +32 -0
  424. package/src/hooks/useContextObjects.ts +46 -0
  425. package/src/hooks/useFilteredTypes.ts +37 -0
  426. package/src/hooks/useFlush.ts +35 -0
  427. package/src/hooks/useOnline.ts +10 -0
  428. package/src/hooks/usePresets.ts +44 -0
  429. package/src/hooks/useReferencesProvider.ts +12 -13
  430. package/src/index.ts +3 -1
  431. package/src/meta.ts +11 -8
  432. package/src/processor/index.ts +7 -0
  433. package/src/{hooks → processor}/presets.ts +16 -8
  434. package/src/processor/processor.test.ts +73 -0
  435. package/src/processor/processor.ts +296 -0
  436. package/src/processor/update-name.ts +58 -0
  437. package/src/queue-logger.ts +17 -18
  438. package/src/testing/index.ts +1 -1
  439. package/src/testing/test-generator.ts +262 -0
  440. package/src/testing/test-sequence.ts +5 -30
  441. package/src/testing/test-services.ts +10 -14
  442. package/src/translations.ts +77 -20
  443. package/src/types/Assistant.ts +28 -0
  444. package/src/types/AssistantAction.ts +76 -0
  445. package/src/types/capabilities.ts +27 -0
  446. package/src/types/defs.ts +5 -0
  447. package/src/types/events.ts +11 -0
  448. package/src/types/index.ts +9 -1
  449. package/src/types/service.ts +27 -16
  450. package/src/vite-env.d.ts +30 -0
  451. package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs +0 -28
  452. package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs.map +0 -7
  453. package/dist/lib/browser/ChatContainer-RP3QEXYX.mjs +0 -54
  454. package/dist/lib/browser/ChatContainer-RP3QEXYX.mjs.map +0 -7
  455. package/dist/lib/browser/ChatDialog-ZVLXFHEY.mjs +0 -72
  456. package/dist/lib/browser/ChatDialog-ZVLXFHEY.mjs.map +0 -7
  457. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs +0 -162
  458. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
  459. package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs +0 -164
  460. package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs.map +0 -7
  461. package/dist/lib/browser/chunk-63GG6U6D.mjs +0 -2226
  462. package/dist/lib/browser/chunk-63GG6U6D.mjs.map +0 -7
  463. package/dist/lib/browser/chunk-7W7LHTRH.mjs +0 -171
  464. package/dist/lib/browser/chunk-7W7LHTRH.mjs.map +0 -7
  465. package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
  466. package/dist/lib/browser/chunk-FDCJSQYF.mjs.map +0 -7
  467. package/dist/lib/browser/chunk-KFXSBNZR.mjs +0 -89
  468. package/dist/lib/browser/chunk-KFXSBNZR.mjs.map +0 -7
  469. package/dist/lib/browser/chunk-LERGF5YG.mjs +0 -108
  470. package/dist/lib/browser/chunk-LERGF5YG.mjs.map +0 -7
  471. package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs +0 -75
  472. package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs.map +0 -7
  473. package/dist/lib/browser/react-surface-3GYEHQRP.mjs +0 -150
  474. package/dist/lib/browser/react-surface-3GYEHQRP.mjs.map +0 -7
  475. package/dist/lib/browser/settings-5GTTCVGD.mjs +0 -22
  476. package/dist/lib/browser/settings-5GTTCVGD.mjs.map +0 -7
  477. package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs +0 -29
  478. package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs.map +0 -7
  479. package/dist/lib/node-esm/ChatContainer-W3W6FWV3.mjs +0 -55
  480. package/dist/lib/node-esm/ChatContainer-W3W6FWV3.mjs.map +0 -7
  481. package/dist/lib/node-esm/ChatDialog-QW4JRKVO.mjs +0 -73
  482. package/dist/lib/node-esm/ChatDialog-QW4JRKVO.mjs.map +0 -7
  483. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs +0 -163
  484. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
  485. package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs +0 -165
  486. package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs.map +0 -7
  487. package/dist/lib/node-esm/chunk-BFO3KHYL.mjs +0 -2227
  488. package/dist/lib/node-esm/chunk-BFO3KHYL.mjs.map +0 -7
  489. package/dist/lib/node-esm/chunk-MS3PJARN.mjs +0 -109
  490. package/dist/lib/node-esm/chunk-MS3PJARN.mjs.map +0 -7
  491. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
  492. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs.map +0 -7
  493. package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs +0 -90
  494. package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs.map +0 -7
  495. package/dist/lib/node-esm/chunk-Z7PUODRT.mjs +0 -172
  496. package/dist/lib/node-esm/chunk-Z7PUODRT.mjs.map +0 -7
  497. package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs +0 -76
  498. package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs.map +0 -7
  499. package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs +0 -151
  500. package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs.map +0 -7
  501. package/dist/lib/node-esm/settings-J2EXEM5H.mjs +0 -23
  502. package/dist/lib/node-esm/settings-J2EXEM5H.mjs.map +0 -7
  503. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  504. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  505. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  506. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  507. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  508. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  509. package/dist/types/src/capabilities/settings.d.ts +0 -4
  510. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  511. package/dist/types/src/capability-definitions.d.ts +0 -7
  512. package/dist/types/src/capability-definitions.d.ts.map +0 -1
  513. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +0 -6
  514. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +0 -1
  515. package/dist/types/src/components/AssistantSettings/index.d.ts +0 -2
  516. package/dist/types/src/components/AssistantSettings/index.d.ts.map +0 -1
  517. package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
  518. package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
  519. package/dist/types/src/components/ChatContainer.d.ts +0 -11
  520. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  521. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  522. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
  523. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
  524. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -17
  525. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
  526. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
  527. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
  528. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  529. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  530. package/dist/types/src/components/PromptSettings.d.ts +0 -6
  531. package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
  532. package/dist/types/src/components/SequenceContainer.d.ts +0 -8
  533. package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
  534. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
  535. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
  536. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
  537. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
  538. package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
  539. package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
  540. package/dist/types/src/events.d.ts +0 -4
  541. package/dist/types/src/events.d.ts.map +0 -1
  542. package/dist/types/src/hooks/chat-processor.d.ts +0 -86
  543. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  544. package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
  545. package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
  546. package/dist/types/src/hooks/presets.d.ts.map +0 -1
  547. package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
  548. package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
  549. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  550. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  551. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  552. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  553. package/dist/types/src/parser/index.d.ts +0 -4
  554. package/dist/types/src/parser/index.d.ts.map +0 -1
  555. package/dist/types/src/parser/query-parser.d.ts +0 -15
  556. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  557. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  558. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  559. package/dist/types/src/parser/types.d.ts +0 -24
  560. package/dist/types/src/parser/types.d.ts.map +0 -1
  561. package/dist/types/src/stories/Chat.stories.d.ts +0 -207
  562. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  563. package/dist/types/src/testing/test-functions.d.ts +0 -3
  564. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  565. package/dist/types/src/tools/function.d.ts +0 -5
  566. package/dist/types/src/tools/function.d.ts.map +0 -1
  567. package/dist/types/src/tools/index.d.ts +0 -3
  568. package/dist/types/src/tools/index.d.ts.map +0 -1
  569. package/dist/types/src/tools/openapi.d.ts +0 -10
  570. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  571. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  572. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  573. package/dist/types/src/types/schema.d.ts +0 -120
  574. package/dist/types/src/types/schema.d.ts.map +0 -1
  575. package/src/capabilities/app-graph-builder.ts +0 -169
  576. package/src/capabilities/intent-resolver.ts +0 -72
  577. package/src/capabilities/react-surface.tsx +0 -138
  578. package/src/capabilities/settings.ts +0 -19
  579. package/src/capability-definitions.ts +0 -15
  580. package/src/components/AssistantSettings/AssistantSettings.tsx +0 -105
  581. package/src/components/AssistantSettings/index.ts +0 -5
  582. package/src/components/BlueprintContainer.tsx +0 -24
  583. package/src/components/ChatContainer.tsx +0 -45
  584. package/src/components/ChatDialog.tsx +0 -64
  585. package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
  586. package/src/components/ChatThread/ChatMessage.tsx +0 -268
  587. package/src/components/ChatThread/ToolBlock.tsx +0 -121
  588. package/src/components/ChatThread/reducer.ts +0 -52
  589. package/src/components/PromptSettings.tsx +0 -89
  590. package/src/components/SequenceContainer.tsx +0 -132
  591. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -32
  592. package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
  593. package/src/events.ts +0 -11
  594. package/src/hooks/chat-processor.test.ts +0 -16
  595. package/src/hooks/chat-processor.ts +0 -314
  596. package/src/hooks/useBlueprints.ts +0 -57
  597. package/src/parser/filter-generator.test.ts +0 -32
  598. package/src/parser/filter-generator.ts +0 -81
  599. package/src/parser/index.ts +0 -7
  600. package/src/parser/query-parser.test.ts +0 -139
  601. package/src/parser/query-parser.ts +0 -199
  602. package/src/parser/types.ts +0 -34
  603. package/src/shims.d.ts +0 -8
  604. package/src/stories/Chat.stories.tsx +0 -371
  605. package/src/testing/test-functions.ts +0 -11
  606. package/src/tools/function.ts +0 -46
  607. package/src/tools/index.ts +0 -6
  608. package/src/tools/openapi.test.ts +0 -217
  609. package/src/tools/openapi.ts +0 -338
  610. package/src/types/schema.ts +0 -108
  611. package/src/typings.d.ts +0 -9
@@ -2,67 +2,57 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
- import { type Meta } from '@storybook/react-vite';
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import * as Effect from 'effect/Effect';
8
7
  import React from 'react';
9
8
 
10
- import { IntentPlugin, Capabilities, useCapabilities, SettingsPlugin } from '@dxos/app-framework';
11
9
  import { withPluginManager } from '@dxos/app-framework/testing';
12
- import { capabilities } from '@dxos/assistant-testing';
10
+ import { capabilities } from '@dxos/assistant-toolkit/testing';
13
11
  import { ChessPlugin } from '@dxos/plugin-chess';
14
12
  import { ClientPlugin } from '@dxos/plugin-client';
15
13
  import { MapPlugin } from '@dxos/plugin-map';
16
- import { SpacePlugin } from '@dxos/plugin-space';
17
14
  import { TablePlugin } from '@dxos/plugin-table';
18
- import { withLayout, withTheme } from '@dxos/storybook-utils';
15
+ import { corePlugins } from '@dxos/plugin-testing';
16
+ import { withTheme } from '@dxos/react-ui/testing';
19
17
 
20
- import { Toolbox, type ToolboxProps } from './Toolbox';
21
18
  import { translations } from '../../translations';
22
19
 
20
+ import { Toolbox, type ToolboxProps } from './Toolbox';
21
+
23
22
  const DefaultStory = (props: ToolboxProps) => {
24
- const artifactDefinitions = useCapabilities(Capabilities.ArtifactDefinition);
25
- return (
26
- <Toolbox
27
- {...props}
28
- artifacts={artifactDefinitions}
29
- classNames='w-[30rem] h-[15rem] rounded-sm border border-separator py-1'
30
- />
31
- );
23
+ return <Toolbox {...props} classNames='h-[15rem] w-[30rem] py-1 rounded-xs border border-separator' />;
32
24
  };
33
25
 
34
- const meta: Meta<typeof Toolbox> = {
35
- title: 'plugins/plugin-assistant/Toolbox',
36
- component: Toolbox,
26
+ const meta = {
27
+ title: 'plugins/plugin-assistant/components/Toolbox',
28
+ component: Toolbox as any,
37
29
  render: DefaultStory,
38
30
  decorators: [
31
+ withTheme(),
39
32
  withPluginManager({
40
33
  plugins: [
34
+ ...corePlugins(),
41
35
  ClientPlugin({
42
- onClientInitialized: async (_, client) => {
43
- await client.halo.createIdentity();
44
- },
36
+ onClientInitialized: ({ client }) =>
37
+ Effect.gen(function* () {
38
+ yield* Effect.promise(() => client.halo.createIdentity());
39
+ }),
45
40
  }),
46
- SpacePlugin(),
47
- SettingsPlugin(),
48
- IntentPlugin(),
49
41
  ChessPlugin(),
50
42
  MapPlugin(),
51
43
  TablePlugin(),
52
44
  ],
53
45
  capabilities,
54
46
  }),
55
- withTheme,
56
- withLayout(),
57
47
  ],
58
48
  parameters: {
59
49
  layout: 'centered',
60
50
  translations,
61
51
  },
62
- };
52
+ } satisfies Meta<typeof DefaultStory>;
63
53
 
64
54
  export default meta;
65
55
 
66
- type Story = Meta<typeof Toolbox>;
56
+ type Story = StoryObj<typeof meta>;
67
57
 
68
58
  export const Default: Story = {};
@@ -2,109 +2,79 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import React, { useState, useEffect, Fragment, type FC } from 'react';
5
+ import React, { type FC, Fragment, useEffect, useState } from 'react';
6
6
 
7
- import { parseToolName, type Tool } from '@dxos/ai';
8
- import { Capabilities, useCapabilities } from '@dxos/app-framework';
9
- import { type ArtifactDefinition } from '@dxos/blueprints';
10
7
  import { type Blueprint } from '@dxos/blueprints';
11
- import { type Ref } from '@dxos/echo';
12
- import { FunctionType } from '@dxos/functions';
8
+ import { type Database, type Ref } from '@dxos/echo';
9
+ import { Function } from '@dxos/functions';
13
10
  import { log } from '@dxos/log';
14
- import { Filter, type Space, useQuery } from '@dxos/react-client/echo';
15
- import { type ThemedClassName } from '@dxos/react-ui';
16
- import { useTranslation } from '@dxos/react-ui';
17
- import { mx } from '@dxos/react-ui-theme';
18
-
19
- import { type ChatProcessor } from '../../hooks';
20
- import { meta } from '../../meta';
21
- import { createToolsFromService } from '../../tools';
11
+ import { Filter, useQuery } from '@dxos/react-client/echo';
12
+ import { ScrollArea, type ThemedClassName } from '@dxos/react-ui';
13
+ import { mx } from '@dxos/ui-theme';
14
+
15
+ import { type AiChatProcessor } from '../../processor';
22
16
  import { ServiceType } from '../../types';
23
17
 
24
18
  export type ToolboxProps = ThemedClassName<{
25
- blueprints?: readonly Ref.Ref<Blueprint.Blueprint>[];
26
- artifacts?: ArtifactDefinition[];
27
- services?: { service: ServiceType; tools: Tool[] }[];
28
- functions?: FunctionType[];
19
+ services?: { service: ServiceType }[];
20
+ functions?: Function.Function[];
21
+ // TODO(burdon): Combine into single array.
22
+ blueprints?: readonly Blueprint.Blueprint[];
29
23
  activeBlueprints?: readonly Ref.Ref<Blueprint.Blueprint>[];
30
- striped?: boolean;
31
24
  }>;
32
25
 
33
- export const Toolbox = ({
34
- classNames,
35
- artifacts,
36
- functions,
37
- services,
38
- blueprints,
39
- activeBlueprints,
40
- striped,
41
- }: ToolboxProps) => {
42
- const { t } = useTranslation(meta.id);
43
-
26
+ export const Toolbox = ({ classNames, functions, services, blueprints, activeBlueprints }: ToolboxProps) => {
44
27
  return (
45
- <div className={mx('flex flex-col overflow-y-auto box-content', classNames)}>
46
- {blueprints && blueprints.length > 0 && (
47
- <Section
48
- title='Blueprints'
49
- items={blueprints.map(({ target }) => ({
50
- name: target?.name ?? '',
51
- description: target?.description ?? '',
52
- subitems: target?.tools.map((toolId) => ({ name: `∙ ${parseToolName(toolId)}` })),
53
- }))}
54
- />
55
- )}
56
-
57
- {activeBlueprints && activeBlueprints.length > 0 && (
58
- <Section
59
- title='Blueprints'
60
- items={activeBlueprints.map(({ target }) => ({
61
- name: target?.name ?? '',
62
- description: target?.description ?? '',
63
- subitems: target?.tools.map((toolId) => ({ name: `∙ ${parseToolName(toolId)}` })),
64
- }))}
65
- />
66
- )}
67
-
68
- {artifacts && artifacts.length > 0 && (
69
- <Section
70
- title='Artifacts'
71
- items={artifacts.map(({ name, description, tools }) => ({
72
- name,
73
- description,
74
- subitems: tools.map(({ name, description }) => ({ name: `∙ ${parseToolName(name)}`, description })),
75
- }))}
76
- />
77
- )}
78
-
79
- {services && services.length > 0 && (
80
- <Section
81
- title='Services'
82
- items={services.map(({ service: { serviceId, name, description }, tools }) => ({
83
- name: name ?? serviceId,
84
- description,
85
- subitems: tools.map(({ name, description }) => ({ name: `∙ ${name}`, description })),
86
- }))}
87
- />
88
- )}
89
-
90
- {functions && functions.length > 0 && (
91
- <Section title='Functions' items={functions.map(({ name, description }) => ({ name, description }))} />
92
- )}
93
-
94
- {!blueprints?.length &&
95
- !activeBlueprints?.length &&
96
- !artifacts?.length &&
97
- !services?.length &&
98
- !functions?.length && <div>{t('no tools')}</div>}
99
- </div>
28
+ <ScrollArea.Root thin orientation='vertical'>
29
+ <ScrollArea.Viewport classNames={classNames}>
30
+ {blueprints && blueprints.length > 0 && (
31
+ <Section
32
+ title='Blueprints'
33
+ items={blueprints.map(({ name, description, tools }) => ({
34
+ name,
35
+ description,
36
+ subitems: tools.map((toolId) => ({ name: `∙ ${safeToolId(toolId)}` })),
37
+ }))}
38
+ />
39
+ )}
40
+
41
+ {activeBlueprints && activeBlueprints.length > 0 && (
42
+ <Section
43
+ title='Blueprints'
44
+ items={activeBlueprints.map(({ target }) => ({
45
+ name: target?.name ?? '',
46
+ description: target?.description ?? '',
47
+ subitems: target?.tools.map((toolId) => ({ name: `∙ ${safeToolId(toolId)}` })),
48
+ }))}
49
+ />
50
+ )}
51
+
52
+ {services && services.length > 0 && (
53
+ <Section
54
+ title='Services'
55
+ items={services.map(({ service: { serviceId, name, description } }) => ({
56
+ name: name ?? serviceId,
57
+ description,
58
+ // subitems: tools.map(({ name, description }) => ({ name: `∙ ${name}`, description })),
59
+ }))}
60
+ />
61
+ )}
62
+
63
+ {functions && functions.length > 0 && (
64
+ <Section title='Functions' items={functions.map(({ name, description }) => ({ name, description }))} />
65
+ )}
66
+ </ScrollArea.Viewport>
67
+ </ScrollArea.Root>
100
68
  );
101
69
  };
102
70
 
103
- const Section: FC<{
71
+ type SectionProps = {
104
72
  title: string;
105
73
  items: { name: string; description?: string; subitems?: { name: string; description?: string }[] }[];
106
74
  striped?: boolean;
107
- }> = ({ title, items, striped }) => {
75
+ };
76
+
77
+ const Section = ({ title, items, striped }: SectionProps) => {
108
78
  const stripeClassNames = 'odd:bg-neutral-50 dark:odd:bg-neutral-800';
109
79
  const gridClassNames = 'grid grid-cols-[8rem_1fr]';
110
80
  const subGridClassNames = mx('col-span-full grid grid-cols-subgrid text-xs px-2', striped && stripeClassNames);
@@ -134,39 +104,39 @@ const Section: FC<{
134
104
  );
135
105
  };
136
106
 
137
- export type ToolboxContainerProps = ThemedClassName<{
138
- space?: Space;
139
- processor?: ChatProcessor;
107
+ export type ToolboxPanelProps = ThemedClassName<{
108
+ db?: Database.Database;
109
+ processor?: AiChatProcessor;
140
110
  }>;
141
111
 
142
- export const ToolboxContainer = ({ classNames, space, processor }: ToolboxContainerProps) => {
143
- // Plugin artifacts.
144
- const artifactDefinitions = useCapabilities(Capabilities.ArtifactDefinition);
145
-
112
+ export const ToolboxPanel = ({ classNames, db, processor }: ToolboxPanelProps) => {
146
113
  // Registered services.
147
- const services = useQuery(space, Filter.type(ServiceType));
148
- const [serviceTools, setServiceTools] = useState<{ service: ServiceType; tools: Tool[] }[]>([]);
114
+ const services = useQuery(db, Filter.type(ServiceType));
115
+ const [serviceTools, setServiceTools] = useState<{ service: ServiceType }[]>([]);
149
116
  useEffect(() => {
150
117
  log('creating service tools...', { services: services.length });
151
118
  queueMicrotask(async () => {
152
- const tools = await Promise.all(
153
- services.map(async (service) => ({ service, tools: await createToolsFromService(service) })),
154
- );
155
-
156
- setServiceTools(tools);
119
+ // TODO(burdon): Fix.
120
+ // const tools = await Promise.all(
121
+ // services.map(async (service) => ({ service, tools: await createToolsFromService(service) })),
122
+ // );
123
+ // setServiceTools(tools);
157
124
  });
158
125
  }, [services]);
159
126
 
160
127
  // Deployed functions.
161
- const functions = useQuery(space, Filter.type(FunctionType));
128
+ const functions = useQuery(db, Filter.type(Function.Function));
162
129
 
163
130
  return (
164
131
  <Toolbox
165
132
  classNames={classNames}
166
- blueprints={processor?.context.blueprints.value}
167
- artifacts={artifactDefinitions}
133
+ blueprints={processor?.context.getBlueprints()}
168
134
  services={serviceTools}
169
135
  functions={functions}
170
136
  />
171
137
  );
172
138
  };
139
+
140
+ const safeToolId = (name: string) => {
141
+ return name.split('_').pop();
142
+ };
@@ -0,0 +1,161 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { type EditorView } from '@codemirror/view';
6
+ import * as LanguageModel from '@effect/ai/LanguageModel';
7
+ import * as Effect from 'effect/Effect';
8
+ import type * as Runtime from 'effect/Runtime';
9
+ import React, { useState } from 'react';
10
+
11
+ import { runInRuntime } from '@dxos/effect';
12
+ import { log } from '@dxos/log';
13
+ import { Button, Icon, Input, ThemeProvider } from '@dxos/react-ui';
14
+
15
+ export type AssistantToolbarProps = {
16
+ view: EditorView;
17
+ from: number;
18
+ to: number;
19
+ runtime: Runtime.Runtime<LanguageModel.LanguageModel>;
20
+ };
21
+
22
+ export const AssistantToolbar = ({ view, from, to, runtime }: AssistantToolbarProps) => {
23
+ const [isProcessing, setIsProcessing] = useState(false);
24
+ const [showPromptInput, setShowPromptInput] = useState(false);
25
+ const [customPrompt, setCustomPrompt] = useState('');
26
+
27
+ const runEffect = async (text: string, prompt: string) => {
28
+ setIsProcessing(true);
29
+ try {
30
+ const newText = await runInRuntime(
31
+ runtime,
32
+ Effect.gen(function* () {
33
+ // Construct meaningful system prompt context
34
+ const response = yield* LanguageModel.generateText({
35
+ prompt: `${prompt}:\n"${text}"`,
36
+ });
37
+ return response.text;
38
+ }),
39
+ );
40
+
41
+ // Apply change - check if selection is still valid/same?
42
+ // For simple demo, we just apply to the passed from/to, but ideally we check current selection.
43
+ // We can just rely on from/to passed as props, assuming the toolbar unmounts if selection changes.
44
+ view.dispatch({
45
+ changes: { from, to, insert: newText },
46
+ });
47
+ } catch (e) {
48
+ log.error('Assistant action failed', { error: e });
49
+ } finally {
50
+ setIsProcessing(false);
51
+ setShowPromptInput(false);
52
+ }
53
+ };
54
+
55
+ const currentText = view.state.sliceDoc(from, to);
56
+
57
+ const handleRegenerate = () => {
58
+ void runEffect(
59
+ currentText,
60
+ 'You are a typewriting agent. Agent only outputs the result; one version; no explanation or formatting. Re-write the following text to be more clear and concise, keep the same meaning.',
61
+ );
62
+ };
63
+
64
+ const handleCasual = () => handleChangeTone('casual');
65
+ const handleFormal = () => handleChangeTone('formal');
66
+
67
+ const handleChangeTone = (tone: 'formal' | 'casual') => {
68
+ void runEffect(
69
+ currentText,
70
+ `You are a typewriting agent. Agent only outputs the result; one version; no explanation or formatting. Rewrite the following text to be more ${tone}`,
71
+ );
72
+ };
73
+
74
+ const handleEditWithPrompt = () => {
75
+ if (!customPrompt) return;
76
+ void runEffect(currentText, customPrompt);
77
+ };
78
+
79
+ return (
80
+ <ThemeProvider>
81
+ {showPromptInput ? (
82
+ <div
83
+ className='flex items-center gap-2 p-1 bg-white/90 dark:bg-neutral-800/90 backdrop-blur-md rounded-full shadow-xl border border-neutral-200 dark:border-neutral-700 animate-in fade-in zoom-in-95 duration-150 mt-2'
84
+ onMouseDown={(e) => e.preventDefault()}
85
+ >
86
+ <Input.Root>
87
+ <Input.TextInput
88
+ placeholder='Instruction...'
89
+ value={customPrompt}
90
+ onChange={(e) => setCustomPrompt(e.target.value)}
91
+ onKeyDown={(e) => {
92
+ if (e.key === 'Enter') handleEditWithPrompt();
93
+ if (e.key === 'Escape') setShowPromptInput(false);
94
+ e.stopPropagation();
95
+ }}
96
+ autoFocus
97
+ classNames='border-none bg-transparent focus-visible:ring-0 p-1 text-sm min-w-[200px]'
98
+ />
99
+ </Input.Root>
100
+ <Button
101
+ variant='ghost'
102
+ classNames='p-1 min-h-0 h-6 w-6 rounded-full'
103
+ onClick={handleEditWithPrompt}
104
+ disabled={!customPrompt || isProcessing}
105
+ >
106
+ <Icon icon='ph--arrows-clockwise--regular' classNames={isProcessing ? 'animate-spin' : ''} />
107
+ </Button>
108
+ </div>
109
+ ) : (
110
+ <div
111
+ className='flex items-center gap-1 p-1 bg-white/50 dark:bg-neutral-800/50 backdrop-blur-md rounded-xl shadow-xl border border-neutral-200 dark:border-neutral-700 animate-in fade-in zoom-in-95 duration-150 mt-2'
112
+ onMouseDown={(e) => e.preventDefault()}
113
+ >
114
+ <div className='flex items-center gap-1'>
115
+ <Button
116
+ variant='ghost'
117
+ classNames='flex flex-col items-center gap-1 p-1 h-auto w-auto rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-700'
118
+ onClick={handleCasual}
119
+ disabled={isProcessing}
120
+ >
121
+ <Icon icon='ph--caret-left--regular' size={4} />
122
+ <span className='text-[10px] leading-none text-neutral-500 font-medium'>Casual</span>
123
+ </Button>
124
+
125
+ <Button
126
+ variant='ghost'
127
+ classNames='flex flex-col items-center gap-1 p-1 h-auto w-auto rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-700'
128
+ onClick={handleRegenerate}
129
+ disabled={isProcessing}
130
+ >
131
+ <Icon icon='ph--arrows-clockwise--regular' size={4} classNames={isProcessing ? 'animate-spin' : ''} />
132
+ <span className='text-[10px] leading-none text-neutral-500 font-medium'>Different</span>
133
+ </Button>
134
+
135
+ <Button
136
+ variant='ghost'
137
+ classNames='flex flex-col gap-1 p-1 h-auto w-auto rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-700'
138
+ onClick={handleFormal}
139
+ disabled={isProcessing}
140
+ >
141
+ <Icon icon='ph--caret-right--regular' size={4} />
142
+ <span className='text-[10px] leading-none text-neutral-500 font-medium'>Formal</span>
143
+ </Button>
144
+ </div>
145
+
146
+ <div className='w-px h-8 bg-neutral-200 dark:bg-neutral-700 mx-1' />
147
+
148
+ <Button
149
+ variant='ghost'
150
+ classNames='flex flex-col gap-1 p-1 h-auto w-auto rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-700'
151
+ onClick={() => setShowPromptInput(true)}
152
+ disabled={isProcessing}
153
+ >
154
+ <Icon icon='ph--keyboard--regular' size={4} />
155
+ <span className='text-[10px] leading-none text-neutral-500 font-medium'>Instruct</span>
156
+ </Button>
157
+ </div>
158
+ )}
159
+ </ThemeProvider>
160
+ );
161
+ };
@@ -0,0 +1,86 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import type * as LanguageModel from '@effect/ai/LanguageModel';
6
+ import type { Meta, StoryObj } from '@storybook/react-vite';
7
+ import * as Layer from 'effect/Layer';
8
+ import * as ManagedRuntime from 'effect/ManagedRuntime';
9
+ import type * as Runtime from 'effect/Runtime';
10
+ import React, { useEffect, useState } from 'react';
11
+
12
+ import { AiService } from '@dxos/ai';
13
+ import { AiServiceTestingPreset } from '@dxos/ai/testing';
14
+ import { withLayout, withTheme } from '@dxos/react-ui/testing';
15
+
16
+ import { Typewriter } from './Typewriter';
17
+
18
+ const meta: Meta<typeof Typewriter> = {
19
+ title: 'plugins/plugin-assistant/components/Typewriter',
20
+ component: Typewriter,
21
+ decorators: [withTheme(), withLayout({ layout: 'column' })],
22
+ };
23
+
24
+ export default meta;
25
+
26
+ type Story = StoryObj<typeof Typewriter>;
27
+
28
+ const sampleText = `# The Future of Artificial Intelligence
29
+
30
+ Artificial Intelligence (AI) has rapidly evolved from a theoretical concept to a transformative force reshaping industries, economies, and daily life. At its core, AI refers to the development of computer systems capable of performing tasks that typically require human intelligence, such as visual perception, speech recognition, decision-making, and language translation.
31
+
32
+ ## Machine Learning and Neural Networks
33
+
34
+ The resurgence of AI in recent years is largely driven by advancements in machine learning (ML) and deep learning. Neural networks, inspired by the human brain's architecture, enable computers to learn from vast amounts of data. This has led to breakthroughs in areas like natural language processing (NLP), allowing models like GPT-4 to generate human-like text and code.
35
+
36
+ ## Ethical Considerations
37
+
38
+ As AI becomes more autonomous, ethical concerns have moved to the forefront. Issues such as algorithmic bias, data privacy, and the potential displacement of jobs are critical topics of debate. Ensuring that AI systems are fair, transparent, and aligned with human values is essential for their sustainable development.
39
+
40
+ ## Conclusion
41
+
42
+ The journey of AI is just beginning. With responsible innovation and global collaboration, AI has the potential to solve some of humanity's most pressing challenges, from climate change to personalized medicine.
43
+
44
+ (try selecting some text to see the AI assistant, or wait for the proofreader to find the typo below)
45
+
46
+ The quick brown fox jumps over teh lazy dog. i think this is cool.
47
+ `;
48
+
49
+ export const Default: Story = {
50
+ render: () => {
51
+ const [runtime, setRuntime] = useState<Runtime.Runtime<LanguageModel.LanguageModel>>();
52
+ useEffect(() => {
53
+ let disposed = false;
54
+ const rt = ManagedRuntime.make(
55
+ AiService.model('@anthropic/claude-haiku-4-5').pipe(
56
+ Layer.provide(AiServiceTestingPreset('edge-remote')),
57
+ Layer.orDie,
58
+ ),
59
+ );
60
+ queueMicrotask(async () => {
61
+ try {
62
+ if (disposed) {
63
+ return;
64
+ }
65
+ const runtime = await rt.runtime();
66
+ if (disposed) {
67
+ return;
68
+ }
69
+ setRuntime(runtime);
70
+ } catch (error) {
71
+ console.error('Failed to initialize runtime:', error);
72
+ }
73
+ });
74
+ return () => {
75
+ disposed = true;
76
+ void rt.dispose();
77
+ };
78
+ }, []);
79
+
80
+ if (!runtime) {
81
+ return <div>...Loading</div>;
82
+ }
83
+
84
+ return <Typewriter initialContent={sampleText} runtime={runtime} />;
85
+ },
86
+ };
@@ -0,0 +1,54 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { type Extension } from '@codemirror/state';
6
+ import type * as LanguageModel from '@effect/ai/LanguageModel';
7
+ import type * as Runtime from 'effect/Runtime';
8
+ import React, { useMemo, useRef } from 'react';
9
+
10
+ import { DensityProvider, ThemeProvider } from '@dxos/react-ui';
11
+ import { Editor, type EditorController } from '@dxos/react-ui-editor';
12
+ import {
13
+ createBasicExtensions,
14
+ createMarkdownExtensions,
15
+ createThemeExtensions,
16
+ decorateMarkdown,
17
+ } from '@dxos/ui-editor';
18
+
19
+ import { assistant } from './assistant-extension';
20
+
21
+ export type TypewriterProps = {
22
+ initialContent?: string;
23
+ extensions?: Extension[];
24
+ runtime: Runtime.Runtime<LanguageModel.LanguageModel>;
25
+ };
26
+
27
+ export const Typewriter = ({ initialContent = '', extensions = [], runtime }: TypewriterProps) => {
28
+ const editorRef = useRef<EditorController>(null);
29
+ const extension = useMemo(
30
+ () => [
31
+ createBasicExtensions({ scrollPastEnd: true, search: true }),
32
+ createThemeExtensions({ syntaxHighlighting: true }),
33
+ createMarkdownExtensions(),
34
+ decorateMarkdown(),
35
+ assistant(runtime),
36
+ ...extensions,
37
+ ],
38
+ [runtime, extensions],
39
+ );
40
+
41
+ return (
42
+ <ThemeProvider>
43
+ <DensityProvider density='fine'>
44
+ <div className='w-full h-full grid overflow-hidden'>
45
+ <Editor.Root ref={editorRef}>
46
+ <Editor.Viewport>
47
+ <Editor.Content initialValue={initialContent} extensions={extension} />
48
+ </Editor.Viewport>
49
+ </Editor.Root>
50
+ </div>
51
+ </DensityProvider>
52
+ </ThemeProvider>
53
+ );
54
+ };