@dxos/plugin-assistant 0.8.4-main.2e9d522 → 0.8.4-main.406dc2a

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 (461) hide show
  1. package/dist/lib/browser/BlueprintContainer-WX2SSDVI.mjs +28 -0
  2. package/dist/lib/browser/BlueprintContainer-WX2SSDVI.mjs.map +7 -0
  3. package/dist/lib/browser/ChatCompanion-BDZ55ZRF.mjs +150 -0
  4. package/dist/lib/browser/ChatCompanion-BDZ55ZRF.mjs.map +7 -0
  5. package/dist/lib/browser/{ChatContainer-M3IHQLRS.mjs → ChatContainer-RYGNN73X.mjs} +33 -14
  6. package/dist/lib/browser/ChatContainer-RYGNN73X.mjs.map +7 -0
  7. package/dist/lib/browser/{ChatDialog-X6VN6QZI.mjs → ChatDialog-MVHH2U66.mjs} +26 -12
  8. package/dist/lib/browser/ChatDialog-MVHH2U66.mjs.map +7 -0
  9. package/dist/lib/browser/{SequenceContainer-3UDVKWPA.mjs → SequenceContainer-2FEWMQGW.mjs} +7 -19
  10. package/dist/lib/browser/SequenceContainer-2FEWMQGW.mjs.map +7 -0
  11. package/dist/lib/browser/ai-service-ERTZBTP3.mjs +19 -0
  12. package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +7 -0
  13. package/dist/lib/browser/app-graph-builder-2U7SLCRX.mjs +154 -0
  14. package/dist/lib/browser/app-graph-builder-2U7SLCRX.mjs.map +7 -0
  15. package/dist/lib/browser/blueprint-definition-NSJARW5U.mjs +12 -0
  16. package/dist/lib/browser/blueprint-definition-NSJARW5U.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-2CE2KPKZ.mjs +175 -0
  18. package/dist/lib/browser/chunk-2CE2KPKZ.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-43I2LR6O.mjs +216 -0
  20. package/dist/lib/browser/chunk-43I2LR6O.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-5EGXHCAZ.mjs +16 -0
  22. package/dist/lib/browser/chunk-5EGXHCAZ.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-5RICKAMN.mjs +18 -0
  24. package/dist/lib/browser/chunk-5RICKAMN.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-CQ7UHYTT.mjs +296 -0
  26. package/dist/lib/browser/chunk-CQ7UHYTT.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-FP56WB24.mjs +212 -0
  28. package/dist/lib/browser/chunk-FP56WB24.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  30. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-JZRZVB2A.mjs +170 -0
  32. package/dist/lib/browser/chunk-JZRZVB2A.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-WRJGOT5P.mjs +1794 -0
  34. package/dist/lib/browser/chunk-WRJGOT5P.mjs.map +7 -0
  35. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +18 -0
  36. package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +7 -0
  37. package/dist/lib/browser/index.mjs +193 -75
  38. package/dist/lib/browser/index.mjs.map +4 -4
  39. package/dist/lib/browser/intent-resolver-3GOJMBXJ.mjs +114 -0
  40. package/dist/lib/browser/intent-resolver-3GOJMBXJ.mjs.map +7 -0
  41. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs +17 -0
  42. package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs.map +7 -0
  43. package/dist/lib/browser/meta.json +1 -1
  44. package/dist/lib/browser/react-surface-FTKCE6GG.mjs +107 -0
  45. package/dist/lib/browser/react-surface-FTKCE6GG.mjs.map +7 -0
  46. package/dist/lib/browser/{settings-2DGP3UTS.mjs → settings-HBF32KV6.mjs} +8 -7
  47. package/dist/lib/{node-esm/settings-47RYZOU4.mjs.map → browser/settings-HBF32KV6.mjs.map} +1 -1
  48. package/dist/lib/browser/state-LXTS54DI.mjs +21 -0
  49. package/dist/lib/browser/state-LXTS54DI.mjs.map +7 -0
  50. package/dist/lib/browser/toolkit-NQ2GXCF5.mjs +199 -0
  51. package/dist/lib/browser/toolkit-NQ2GXCF5.mjs.map +7 -0
  52. package/dist/lib/browser/types/index.mjs +7 -4
  53. package/dist/lib/node-esm/{TemplateContainer-A3NAQCZE.mjs → BlueprintContainer-4MKN6ZRB.mjs} +12 -11
  54. package/dist/lib/node-esm/BlueprintContainer-4MKN6ZRB.mjs.map +7 -0
  55. package/dist/lib/node-esm/ChatCompanion-XFNXVZIP.mjs +151 -0
  56. package/dist/lib/node-esm/ChatCompanion-XFNXVZIP.mjs.map +7 -0
  57. package/dist/lib/node-esm/{ChatContainer-VZT74PO2.mjs → ChatContainer-UTJGCQXF.mjs} +33 -14
  58. package/dist/lib/node-esm/ChatContainer-UTJGCQXF.mjs.map +7 -0
  59. package/dist/lib/node-esm/{ChatDialog-RJ6FDX4Q.mjs → ChatDialog-QEYZ4IOV.mjs} +26 -12
  60. package/dist/lib/node-esm/ChatDialog-QEYZ4IOV.mjs.map +7 -0
  61. package/dist/lib/node-esm/{SequenceContainer-RQQH5XOC.mjs → SequenceContainer-PGGJUQ46.mjs} +7 -19
  62. package/dist/lib/node-esm/SequenceContainer-PGGJUQ46.mjs.map +7 -0
  63. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +20 -0
  64. package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +7 -0
  65. package/dist/lib/node-esm/app-graph-builder-OKNLR7H2.mjs +155 -0
  66. package/dist/lib/node-esm/app-graph-builder-OKNLR7H2.mjs.map +7 -0
  67. package/dist/lib/node-esm/blueprint-definition-WD2IVMAI.mjs +13 -0
  68. package/dist/lib/node-esm/blueprint-definition-WD2IVMAI.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-73ABYRYX.mjs +20 -0
  70. package/dist/lib/node-esm/chunk-73ABYRYX.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-DSE2IILK.mjs +217 -0
  72. package/dist/lib/node-esm/chunk-DSE2IILK.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-E2WXZND7.mjs +297 -0
  74. package/dist/lib/node-esm/chunk-E2WXZND7.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  76. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-HXIBCBH4.mjs +171 -0
  78. package/dist/lib/node-esm/chunk-HXIBCBH4.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-TNR46C3L.mjs +213 -0
  80. package/dist/lib/node-esm/chunk-TNR46C3L.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-U2NYUS2N.mjs +177 -0
  82. package/dist/lib/node-esm/chunk-U2NYUS2N.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-UFKLCEAE.mjs +1795 -0
  84. package/dist/lib/node-esm/chunk-UFKLCEAE.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-XQGWSZ4T.mjs +17 -0
  86. package/dist/lib/node-esm/chunk-XQGWSZ4T.mjs.map +7 -0
  87. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +19 -0
  88. package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +7 -0
  89. package/dist/lib/node-esm/index.mjs +193 -75
  90. package/dist/lib/node-esm/index.mjs.map +4 -4
  91. package/dist/lib/node-esm/intent-resolver-6XLVTRDJ.mjs +115 -0
  92. package/dist/lib/node-esm/intent-resolver-6XLVTRDJ.mjs.map +7 -0
  93. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs +18 -0
  94. package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs.map +7 -0
  95. package/dist/lib/node-esm/meta.json +1 -1
  96. package/dist/lib/node-esm/react-surface-K7ZXQLAP.mjs +108 -0
  97. package/dist/lib/node-esm/react-surface-K7ZXQLAP.mjs.map +7 -0
  98. package/dist/lib/node-esm/{settings-47RYZOU4.mjs → settings-CWP6MTWP.mjs} +8 -7
  99. package/dist/lib/{browser/settings-2DGP3UTS.mjs.map → node-esm/settings-CWP6MTWP.mjs.map} +1 -1
  100. package/dist/lib/node-esm/state-BO6GUFLB.mjs +22 -0
  101. package/dist/lib/node-esm/state-BO6GUFLB.mjs.map +7 -0
  102. package/dist/lib/node-esm/toolkit-V57PRJNG.mjs +200 -0
  103. package/dist/lib/node-esm/toolkit-V57PRJNG.mjs.map +7 -0
  104. package/dist/lib/node-esm/types/index.mjs +7 -4
  105. package/dist/types/src/AssistantPlugin.d.ts +1 -1
  106. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/ai-service.d.ts +4 -0
  108. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  110. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/blueprint-definition.d.ts +7 -0
  112. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/capabilities.d.ts +11 -0
  114. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/edge-model-resolver.d.ts +4 -0
  116. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/index.d.ts +11 -3
  118. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  120. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/local-model-resolver.d.ts +10 -0
  122. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  124. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/settings.d.ts +1 -1
  126. package/dist/types/src/capabilities/state.d.ts +4 -0
  127. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/toolkit.d.ts +4 -0
  129. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  130. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  131. package/dist/types/src/components/BlueprintContainer.d.ts +8 -0
  132. package/dist/types/src/components/BlueprintContainer.d.ts.map +1 -0
  133. package/dist/types/src/components/Chat/Chat.d.ts +21 -17
  134. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  135. package/dist/types/src/components/Chat/events.d.ts +5 -0
  136. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  137. package/dist/types/src/components/ChatCompanion.d.ts +13 -0
  138. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -0
  139. package/dist/types/src/components/ChatContainer.d.ts +4 -4
  140. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  141. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  142. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
  143. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
  144. package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
  145. package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
  146. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  147. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
  148. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
  149. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  150. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +4 -5
  151. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  152. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
  153. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  154. package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
  155. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  156. package/dist/types/src/components/ChatThread/ChatThread.d.ts +12 -7
  157. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  158. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +116 -75
  159. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  160. package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
  161. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
  162. package/dist/types/src/components/ChatThread/reducers.d.ts +40 -0
  163. package/dist/types/src/components/ChatThread/reducers.d.ts.map +1 -0
  164. package/dist/types/src/components/ChatThread/registry.d.ts +11 -0
  165. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
  166. package/dist/types/src/components/ChatThread/sync.d.ts +36 -0
  167. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
  168. package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
  169. package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
  170. package/dist/types/src/components/PromptSettings.d.ts.map +1 -1
  171. package/dist/types/src/components/SequenceContainer.d.ts.map +1 -1
  172. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +1 -1
  173. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +1 -1
  174. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +264 -3
  175. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +1 -1
  176. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -6
  177. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  178. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +262 -7
  179. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  180. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +3 -2
  181. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  182. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +259 -2
  183. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts +12 -0
  185. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +1 -0
  186. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +19 -0
  187. package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
  188. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
  189. package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
  190. package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
  191. package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
  192. package/dist/types/src/components/Toolbar/Toolbar.d.ts +5 -0
  193. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
  194. package/dist/types/src/components/Toolbar/index.d.ts +2 -0
  195. package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
  196. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts +11 -0
  197. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts.map +1 -0
  198. package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -9
  199. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  200. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +262 -5
  201. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  202. package/dist/types/src/components/index.d.ts +5 -2
  203. package/dist/types/src/components/index.d.ts.map +1 -1
  204. package/dist/types/src/events.d.ts +1 -1
  205. package/dist/types/src/events.d.ts.map +1 -1
  206. package/dist/types/src/functions/analysis.d.ts +5 -0
  207. package/dist/types/src/functions/analysis.d.ts.map +1 -0
  208. package/dist/types/src/functions/index.d.ts +4 -0
  209. package/dist/types/src/functions/index.d.ts.map +1 -0
  210. package/dist/types/src/functions/list.d.ts +10 -0
  211. package/dist/types/src/functions/list.d.ts.map +1 -0
  212. package/dist/types/src/functions/load.d.ts +8 -0
  213. package/dist/types/src/functions/load.d.ts.map +1 -0
  214. package/dist/types/src/hooks/index.d.ts +7 -3
  215. package/dist/types/src/hooks/index.d.ts.map +1 -1
  216. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
  217. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
  218. package/dist/types/src/hooks/useChatProcessor.d.ts +8 -21
  219. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  220. package/dist/types/src/hooks/useChatServices.d.ts +5 -6
  221. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  222. package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
  223. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  224. package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
  225. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  226. package/dist/types/src/hooks/useFlush.d.ts +6 -0
  227. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  228. package/dist/types/src/hooks/useItemTypes.d.ts +4 -0
  229. package/dist/types/src/hooks/useItemTypes.d.ts.map +1 -0
  230. package/dist/types/src/hooks/useOnline.d.ts +3 -0
  231. package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
  232. package/dist/types/src/hooks/usePresets.d.ts +7 -0
  233. package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
  234. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  235. package/dist/types/src/index.d.ts +2 -0
  236. package/dist/types/src/index.d.ts.map +1 -1
  237. package/dist/types/src/meta.d.ts +1 -2
  238. package/dist/types/src/meta.d.ts.map +1 -1
  239. package/dist/types/src/processor/index.d.ts +3 -0
  240. package/dist/types/src/processor/index.d.ts.map +1 -0
  241. package/dist/types/src/{hooks → processor}/presets.d.ts +3 -3
  242. package/dist/types/src/processor/presets.d.ts.map +1 -0
  243. package/dist/types/src/processor/processor.d.ts +74 -0
  244. package/dist/types/src/processor/processor.d.ts.map +1 -0
  245. package/dist/types/src/processor/processor.test.d.ts +2 -0
  246. package/dist/types/src/processor/processor.test.d.ts.map +1 -0
  247. package/dist/types/src/testing/index.d.ts +1 -1
  248. package/dist/types/src/testing/index.d.ts.map +1 -1
  249. package/dist/types/src/testing/test-generator.d.ts +7 -0
  250. package/dist/types/src/testing/test-generator.d.ts.map +1 -0
  251. package/dist/types/src/testing/test-sequence.d.ts +0 -4
  252. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  253. package/dist/types/src/testing/test-services.d.ts +2 -2
  254. package/dist/types/src/testing/test-services.d.ts.map +1 -1
  255. package/dist/types/src/translations.d.ts +29 -22
  256. package/dist/types/src/translations.d.ts.map +1 -1
  257. package/dist/types/src/types/Assistant.d.ts +51 -0
  258. package/dist/types/src/types/Assistant.d.ts.map +1 -0
  259. package/dist/types/src/types/AssistantAction.d.ts +107 -0
  260. package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
  261. package/dist/types/src/types/defs.d.ts +2 -0
  262. package/dist/types/src/types/defs.d.ts.map +1 -0
  263. package/dist/types/src/types/index.d.ts +3 -1
  264. package/dist/types/src/types/index.d.ts.map +1 -1
  265. package/dist/types/src/types/service.d.ts +18 -15
  266. package/dist/types/src/types/service.d.ts.map +1 -1
  267. package/dist/types/tsconfig.tsbuildinfo +1 -1
  268. package/package.json +92 -92
  269. package/src/AssistantPlugin.tsx +151 -82
  270. package/src/capabilities/ai-service.ts +27 -0
  271. package/src/capabilities/app-graph-builder.ts +47 -137
  272. package/src/capabilities/blueprint-definition.ts +64 -0
  273. package/src/capabilities/capabilities.ts +18 -0
  274. package/src/capabilities/edge-model-resolver.ts +25 -0
  275. package/src/capabilities/index.ts +9 -0
  276. package/src/capabilities/intent-resolver.ts +53 -15
  277. package/src/capabilities/local-model-resolver.ts +30 -0
  278. package/src/capabilities/react-surface.tsx +17 -64
  279. package/src/capabilities/state.ts +20 -0
  280. package/src/capabilities/toolkit.ts +168 -0
  281. package/src/components/AssistantSettings/AssistantSettings.tsx +83 -76
  282. package/src/components/BlueprintContainer.tsx +24 -0
  283. package/src/components/Chat/Chat.tsx +189 -181
  284. package/src/components/Chat/events.ts +7 -0
  285. package/src/components/ChatCompanion.tsx +136 -0
  286. package/src/components/ChatContainer.tsx +19 -13
  287. package/src/components/ChatDialog.tsx +18 -14
  288. package/src/components/ChatProgress/ChatProgress.tsx +67 -0
  289. package/src/components/ChatProgress/index.ts +5 -0
  290. package/src/components/ChatPrompt/ChatActions.tsx +10 -24
  291. package/src/components/ChatPrompt/ChatOptions.tsx +225 -0
  292. package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
  293. package/src/components/ChatPrompt/ChatReferences.tsx +31 -36
  294. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
  295. package/src/components/ChatPrompt/index.ts +1 -1
  296. package/src/components/ChatThread/ChatThread.stories.tsx +98 -112
  297. package/src/components/ChatThread/ChatThread.tsx +69 -29
  298. package/src/components/ChatThread/Link.tsx +26 -0
  299. package/src/components/ChatThread/reducers.ts +151 -0
  300. package/src/components/ChatThread/registry.tsx +184 -0
  301. package/src/components/ChatThread/sync.test.ts +81 -0
  302. package/src/components/ChatThread/sync.ts +113 -0
  303. package/src/components/PromptSettings.tsx +1 -0
  304. package/src/components/SequenceContainer.tsx +29 -30
  305. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +11 -8
  306. package/src/components/SequenceEditor/SequenceEditor.tsx +3 -3
  307. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +28 -17
  308. package/src/components/TemplateEditor/TemplateEditor.tsx +21 -52
  309. package/src/components/TemplateEditor/TemplateForm.stories.tsx +18 -13
  310. package/src/components/TemplateEditor/TemplateForm.tsx +7 -4
  311. package/src/components/TemplateEditor/handlebars-extension.ts +165 -0
  312. package/src/components/ToolBlock/ToolBlock.tsx +152 -0
  313. package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
  314. package/src/components/ToolBlock/index.ts +6 -0
  315. package/src/components/Toolbar/Toolbar.tsx +21 -0
  316. package/src/components/Toolbar/index.ts +5 -0
  317. package/src/components/Toolbar/useChatToolbarActions.ts +126 -0
  318. package/src/components/Toolbox/Toolbox.stories.tsx +13 -22
  319. package/src/components/Toolbox/Toolbox.tsx +21 -51
  320. package/src/components/index.ts +4 -5
  321. package/src/events.ts +2 -2
  322. package/src/functions/analysis.ts +22 -0
  323. package/src/functions/index.ts +7 -0
  324. package/src/functions/list.ts +48 -0
  325. package/src/functions/load.ts +46 -0
  326. package/src/hooks/index.ts +7 -4
  327. package/src/hooks/useBlueprintRegistry.ts +94 -0
  328. package/src/hooks/useChatProcessor.ts +30 -99
  329. package/src/hooks/useChatServices.ts +29 -71
  330. package/src/hooks/useContextBinder.ts +30 -0
  331. package/src/hooks/useContextObjects.ts +58 -0
  332. package/src/hooks/useFlush.ts +35 -0
  333. package/src/hooks/useItemTypes.ts +37 -0
  334. package/src/hooks/useOnline.ts +10 -0
  335. package/src/hooks/usePresets.ts +44 -0
  336. package/src/hooks/useReferencesProvider.ts +11 -9
  337. package/src/index.ts +2 -0
  338. package/src/meta.ts +4 -6
  339. package/src/processor/index.ts +6 -0
  340. package/src/{hooks → processor}/presets.ts +15 -7
  341. package/src/processor/processor.test.ts +81 -0
  342. package/src/processor/processor.ts +302 -0
  343. package/src/queue-logger.ts +10 -10
  344. package/src/testing/index.ts +1 -1
  345. package/src/testing/test-generator.ts +261 -0
  346. package/src/testing/test-sequence.ts +2 -27
  347. package/src/testing/test-services.ts +2 -8
  348. package/src/translations.ts +32 -22
  349. package/src/types/Assistant.ts +64 -0
  350. package/src/types/AssistantAction.ts +62 -0
  351. package/src/types/defs.ts +5 -0
  352. package/src/types/index.ts +4 -1
  353. package/src/types/service.ts +15 -7
  354. package/src/vite-env.d.ts +30 -0
  355. package/dist/lib/browser/ChatContainer-M3IHQLRS.mjs.map +0 -7
  356. package/dist/lib/browser/ChatDialog-X6VN6QZI.mjs.map +0 -7
  357. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
  358. package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs +0 -27
  359. package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs.map +0 -7
  360. package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs +0 -223
  361. package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs.map +0 -7
  362. package/dist/lib/browser/chunk-AEAEKWOC.mjs +0 -98
  363. package/dist/lib/browser/chunk-AEAEKWOC.mjs.map +0 -7
  364. package/dist/lib/browser/chunk-EQDW6BYQ.mjs +0 -108
  365. package/dist/lib/browser/chunk-EQDW6BYQ.mjs.map +0 -7
  366. package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
  367. package/dist/lib/browser/chunk-FDCJSQYF.mjs.map +0 -7
  368. package/dist/lib/browser/chunk-JQBVLTM5.mjs +0 -158
  369. package/dist/lib/browser/chunk-JQBVLTM5.mjs.map +0 -7
  370. package/dist/lib/browser/chunk-OWY4CUQY.mjs +0 -2245
  371. package/dist/lib/browser/chunk-OWY4CUQY.mjs.map +0 -7
  372. package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs +0 -60
  373. package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs.map +0 -7
  374. package/dist/lib/browser/react-surface-66VY37YQ.mjs +0 -150
  375. package/dist/lib/browser/react-surface-66VY37YQ.mjs.map +0 -7
  376. package/dist/lib/node-esm/ChatContainer-VZT74PO2.mjs.map +0 -7
  377. package/dist/lib/node-esm/ChatDialog-RJ6FDX4Q.mjs.map +0 -7
  378. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
  379. package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs.map +0 -7
  380. package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs +0 -224
  381. package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs.map +0 -7
  382. package/dist/lib/node-esm/chunk-2XL6MNPE.mjs +0 -99
  383. package/dist/lib/node-esm/chunk-2XL6MNPE.mjs.map +0 -7
  384. package/dist/lib/node-esm/chunk-BISJDTBK.mjs +0 -159
  385. package/dist/lib/node-esm/chunk-BISJDTBK.mjs.map +0 -7
  386. package/dist/lib/node-esm/chunk-E33DNNDW.mjs +0 -109
  387. package/dist/lib/node-esm/chunk-E33DNNDW.mjs.map +0 -7
  388. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
  389. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs.map +0 -7
  390. package/dist/lib/node-esm/chunk-SENTQAEO.mjs +0 -2246
  391. package/dist/lib/node-esm/chunk-SENTQAEO.mjs.map +0 -7
  392. package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs +0 -61
  393. package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs.map +0 -7
  394. package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs +0 -151
  395. package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs.map +0 -7
  396. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
  397. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
  398. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -17
  399. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
  400. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
  401. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
  402. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  403. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  404. package/dist/types/src/components/TemplateContainer.d.ts +0 -8
  405. package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
  406. package/dist/types/src/hooks/chat-processor.d.ts +0 -86
  407. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  408. package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
  409. package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
  410. package/dist/types/src/hooks/presets.d.ts.map +0 -1
  411. package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
  412. package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
  413. package/dist/types/src/parser/filter-generator.d.ts +0 -4
  414. package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
  415. package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
  416. package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
  417. package/dist/types/src/parser/index.d.ts +0 -4
  418. package/dist/types/src/parser/index.d.ts.map +0 -1
  419. package/dist/types/src/parser/query-parser.d.ts +0 -15
  420. package/dist/types/src/parser/query-parser.d.ts.map +0 -1
  421. package/dist/types/src/parser/query-parser.test.d.ts +0 -2
  422. package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
  423. package/dist/types/src/parser/types.d.ts +0 -24
  424. package/dist/types/src/parser/types.d.ts.map +0 -1
  425. package/dist/types/src/stories/Chat.stories.d.ts +0 -249
  426. package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
  427. package/dist/types/src/testing/test-functions.d.ts +0 -3
  428. package/dist/types/src/testing/test-functions.d.ts.map +0 -1
  429. package/dist/types/src/tools/function.d.ts +0 -5
  430. package/dist/types/src/tools/function.d.ts.map +0 -1
  431. package/dist/types/src/tools/index.d.ts +0 -3
  432. package/dist/types/src/tools/index.d.ts.map +0 -1
  433. package/dist/types/src/tools/openapi.d.ts +0 -10
  434. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  435. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  436. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  437. package/dist/types/src/types/schema.d.ts +0 -88
  438. package/dist/types/src/types/schema.d.ts.map +0 -1
  439. package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
  440. package/src/components/ChatThread/ChatMessage.tsx +0 -268
  441. package/src/components/ChatThread/ToolBlock.tsx +0 -121
  442. package/src/components/ChatThread/reducer.ts +0 -52
  443. package/src/components/TemplateContainer.tsx +0 -24
  444. package/src/hooks/chat-processor.test.ts +0 -16
  445. package/src/hooks/chat-processor.ts +0 -314
  446. package/src/hooks/useBlueprints.ts +0 -57
  447. package/src/parser/filter-generator.test.ts +0 -32
  448. package/src/parser/filter-generator.ts +0 -81
  449. package/src/parser/index.ts +0 -7
  450. package/src/parser/query-parser.test.ts +0 -139
  451. package/src/parser/query-parser.ts +0 -199
  452. package/src/parser/types.ts +0 -34
  453. package/src/shims.d.ts +0 -8
  454. package/src/stories/Chat.stories.tsx +0 -378
  455. package/src/testing/test-functions.ts +0 -11
  456. package/src/tools/function.ts +0 -46
  457. package/src/tools/index.ts +0 -6
  458. package/src/tools/openapi.test.ts +0 -217
  459. package/src/tools/openapi.ts +0 -338
  460. package/src/types/schema.ts +0 -95
  461. package/src/typings.d.ts +0 -9
@@ -0,0 +1,217 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ meta
4
+ } from "./chunk-73ABYRYX.mjs";
5
+
6
+ // src/components/TemplateEditor/TemplateEditor.tsx
7
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
8
+ import React from "react";
9
+ import { createDocAccessor } from "@dxos/react-client/echo";
10
+ import { useThemeContext, useTranslation } from "@dxos/react-ui";
11
+ import { createBasicExtensions, createDataExtensions, createMarkdownExtensions, createThemeExtensions, decorateMarkdown, useTextEditor } from "@dxos/react-ui-editor";
12
+ import { mx } from "@dxos/react-ui-theme";
13
+ import { isTruthy } from "@dxos/util";
14
+
15
+ // src/components/TemplateEditor/handlebars-extension.ts
16
+ import { autocompletion, completionKeymap } from "@codemirror/autocomplete";
17
+ import { Decoration, ViewPlugin, keymap } from "@codemirror/view";
18
+ function _define_property(obj, key, value) {
19
+ if (key in obj) {
20
+ Object.defineProperty(obj, key, {
21
+ value,
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true
25
+ });
26
+ } else {
27
+ obj[key] = value;
28
+ }
29
+ return obj;
30
+ }
31
+ var handlebars = (_ = {}) => {
32
+ return [
33
+ handlebarsHighlightPlugin,
34
+ autocompletion({
35
+ activateOnTyping: true,
36
+ aboveCursor: true,
37
+ closeOnBlur: true,
38
+ override: [
39
+ handlebarsCompletions
40
+ ]
41
+ }),
42
+ keymap.of(completionKeymap)
43
+ ];
44
+ };
45
+ var regex = {
46
+ comment: /\{\{!\s*[^}]*\}\}/g,
47
+ brackets: /\{\{[^}]*\}\}/g,
48
+ command: /\{\{[#/]([^}]+)\}\}/g,
49
+ var: /\{\{(?!\s*!)(\w[^}]*)\}\}/g
50
+ };
51
+ var handlebarsHighlightPlugin = ViewPlugin.fromClass(class {
52
+ buildDecorations(view) {
53
+ const widgets = [];
54
+ for (const { from, to } of view.visibleRanges) {
55
+ const text = view.state.doc.sliceString(from, to);
56
+ {
57
+ let match;
58
+ while ((match = regex.comment.exec(text)) !== null) {
59
+ const start = from + match.index;
60
+ const end = start + match[0].length;
61
+ widgets.push(Decoration.mark({
62
+ class: "text-subdued"
63
+ }).range(start, end));
64
+ }
65
+ }
66
+ {
67
+ let match;
68
+ while ((match = regex.brackets.exec(text)) !== null) {
69
+ const start = from + match.index;
70
+ const end = start + match[0].length;
71
+ widgets.push(Decoration.mark({
72
+ class: "text-subdued"
73
+ }).range(start, end));
74
+ }
75
+ }
76
+ {
77
+ let match;
78
+ while ((match = regex.command.exec(text)) !== null) {
79
+ const start = from + match.index + 2;
80
+ let end = start + match[0].length - 4;
81
+ const text2 = view.state.doc.sliceString(start, end);
82
+ const parts = text2.split(/\s+/);
83
+ if (parts.length > 1) {
84
+ const idx = start + parts[0].length;
85
+ widgets.push(Decoration.mark({
86
+ class: "text-greenText"
87
+ }).range(idx, end));
88
+ end = idx;
89
+ }
90
+ widgets.push(Decoration.mark({
91
+ class: "text-blueText"
92
+ }).range(start, end));
93
+ }
94
+ }
95
+ {
96
+ let match;
97
+ while ((match = regex.var.exec(text)) !== null) {
98
+ const start = from + match.index + 2;
99
+ const end = start + match[0].length - 4;
100
+ widgets.push(Decoration.mark({
101
+ class: "text-greenText"
102
+ }).range(start, end));
103
+ }
104
+ }
105
+ }
106
+ widgets.sort((a, b) => a.from - b.from || a.startSide - b.startSide);
107
+ return Decoration.set(widgets);
108
+ }
109
+ update(update) {
110
+ if (update.docChanged || update.viewportChanged) {
111
+ this.decorations = this.buildDecorations(update.view);
112
+ }
113
+ }
114
+ constructor(view) {
115
+ _define_property(this, "decorations", void 0);
116
+ this.decorations = this.buildDecorations(view);
117
+ }
118
+ }, {
119
+ decorations: (v) => v.decorations
120
+ });
121
+ var variables = [
122
+ "this"
123
+ ];
124
+ var commands = [
125
+ "this",
126
+ "each",
127
+ "if",
128
+ "unless",
129
+ "with"
130
+ ];
131
+ function handlebarsCompletions(context) {
132
+ const match = context.matchBefore(/\{\{[^}]*/);
133
+ if (!match || match.from === match.to) {
134
+ return null;
135
+ }
136
+ let type = "variable";
137
+ let text = match.text.slice(2);
138
+ let from = match.from + 2;
139
+ let matches = [];
140
+ if (text.startsWith("#") || text.startsWith("/")) {
141
+ const idx = text.lastIndexOf(" ");
142
+ if (idx !== -1) {
143
+ type = "variable";
144
+ matches = variables;
145
+ text = text.slice(idx + 1);
146
+ from += idx + 1;
147
+ } else {
148
+ type = "command";
149
+ text = text.slice(1);
150
+ matches = commands;
151
+ from += 1;
152
+ }
153
+ } else {
154
+ type = "variable";
155
+ matches = variables;
156
+ }
157
+ const options = matches.filter((name) => name.startsWith(text)).map((name) => ({
158
+ type,
159
+ label: name
160
+ }));
161
+ return {
162
+ from,
163
+ options
164
+ };
165
+ }
166
+
167
+ // src/components/TemplateEditor/TemplateEditor.tsx
168
+ var TemplateEditor = ({ id, classNames, template }) => {
169
+ var _effect = _useSignals();
170
+ try {
171
+ const { t } = useTranslation(meta.id);
172
+ const { themeMode } = useThemeContext();
173
+ const { parentRef } = useTextEditor(() => {
174
+ const text = template.source?.target;
175
+ if (!text) {
176
+ return {};
177
+ }
178
+ return {
179
+ initialValue: text.content ?? "",
180
+ extensions: [
181
+ createDataExtensions({
182
+ id,
183
+ text: createDocAccessor(text, [
184
+ "content"
185
+ ])
186
+ }),
187
+ createBasicExtensions({
188
+ bracketMatching: false,
189
+ lineNumbers: true,
190
+ lineWrapping: true,
191
+ placeholder: t("template placeholder")
192
+ }),
193
+ createThemeExtensions({
194
+ themeMode
195
+ }),
196
+ createMarkdownExtensions(),
197
+ decorateMarkdown(),
198
+ handlebars()
199
+ ].filter(isTruthy)
200
+ };
201
+ }, [
202
+ themeMode,
203
+ template.source?.target
204
+ ]);
205
+ return /* @__PURE__ */ React.createElement("div", {
206
+ ref: parentRef,
207
+ className: mx("bs-full overflow-hidden", classNames)
208
+ });
209
+ } finally {
210
+ _effect.f();
211
+ }
212
+ };
213
+
214
+ export {
215
+ TemplateEditor
216
+ };
217
+ //# sourceMappingURL=chunk-DSE2IILK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/TemplateEditor/TemplateEditor.tsx", "../../../src/components/TemplateEditor/handlebars-extension.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Template } from '@dxos/blueprints';\nimport { createDocAccessor } from '@dxos/react-client/echo';\nimport { type ThemedClassName, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport {\n createBasicExtensions,\n createDataExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n decorateMarkdown,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isTruthy } from '@dxos/util';\n\nimport { meta } from '../../meta';\n\nimport { handlebars } from './handlebars-extension';\n\nexport type TemplateEditorProps = ThemedClassName<{\n id: string;\n template: Template.Template;\n}>;\n\nexport const TemplateEditor = ({ id, classNames, template }: TemplateEditorProps) => {\n const { t } = useTranslation(meta.id);\n const { themeMode } = useThemeContext();\n const { parentRef } = useTextEditor(() => {\n const text = template.source?.target;\n if (!text) {\n return {};\n }\n\n return {\n initialValue: text.content ?? '',\n extensions: [\n createDataExtensions({ id, text: createDocAccessor(text, ['content']) }),\n createBasicExtensions({\n bracketMatching: false,\n lineNumbers: true,\n lineWrapping: true,\n placeholder: t('template placeholder'),\n }),\n createThemeExtensions({ themeMode }),\n createMarkdownExtensions(),\n decorateMarkdown(),\n handlebars(),\n ].filter(isTruthy),\n };\n }, [themeMode, template.source?.target]);\n\n return <div ref={parentRef} className={mx('bs-full overflow-hidden', classNames)} />;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n type CompletionContext,\n type CompletionResult,\n autocompletion,\n completionKeymap,\n} from '@codemirror/autocomplete';\nimport { type Extension } from '@codemirror/state';\nimport { Decoration, type DecorationSet, type EditorView, ViewPlugin, type ViewUpdate, keymap } from '@codemirror/view';\n\nexport type HandlebarsOptions = {};\n\n/**\n * Simple Handlebars plugin for CodeMirror.\n * Supports:\n * - Comments: {{! comment }}\n * - Commands: {{#command}} {{/command}}\n * - Variables: {{var}}\n * - Commands with variables: {{#each items}} {{/each}}\n */\nexport const handlebars = (_: HandlebarsOptions = {}): Extension => {\n return [\n handlebarsHighlightPlugin,\n autocompletion({\n activateOnTyping: true,\n aboveCursor: true,\n closeOnBlur: true,\n override: [handlebarsCompletions],\n }),\n keymap.of(completionKeymap),\n ];\n};\n\nconst regex = {\n comment: /\\{\\{!\\s*[^}]*\\}\\}/g,\n brackets: /\\{\\{[^}]*\\}\\}/g,\n command: /\\{\\{[#/]([^}]+)\\}\\}/g,\n var: /\\{\\{(?!\\s*!)(\\w[^}]*)\\}\\}/g,\n};\n\n/**\n * ViewPlugin that decorates Handlebars syntax.\n */\nconst handlebarsHighlightPlugin = ViewPlugin.fromClass(\n class {\n decorations: DecorationSet;\n\n constructor(view: EditorView) {\n this.decorations = this.buildDecorations(view);\n }\n\n buildDecorations(view: EditorView) {\n const widgets: any[] = [];\n\n for (const { from, to } of view.visibleRanges) {\n const text = view.state.doc.sliceString(from, to);\n\n // Match comments: {{! comment }}\n {\n let match;\n while ((match = regex.comment.exec(text)) !== null) {\n const start = from + match.index;\n const end = start + match[0].length;\n widgets.push(Decoration.mark({ class: 'text-subdued' }).range(start, end));\n }\n }\n\n // Match brackets: {{ and }}\n {\n let match;\n while ((match = regex.brackets.exec(text)) !== null) {\n const start = from + match.index;\n const end = start + match[0].length;\n widgets.push(Decoration.mark({ class: 'text-subdued' }).range(start, end));\n }\n }\n\n // Match commands: {{#command}} and {{/command}}\n {\n let match;\n while ((match = regex.command.exec(text)) !== null) {\n const start = from + match.index + 2;\n let end = start + match[0].length - 4;\n const text = view.state.doc.sliceString(start, end);\n const parts = text.split(/\\s+/);\n if (parts.length > 1) {\n const idx = start + parts[0].length;\n widgets.push(Decoration.mark({ class: 'text-greenText' }).range(idx, end));\n end = idx;\n }\n widgets.push(Decoration.mark({ class: 'text-blueText' }).range(start, end));\n }\n }\n\n // Match variables: {{var}}\n {\n let match;\n while ((match = regex.var.exec(text)) !== null) {\n const start = from + match.index + 2;\n const end = start + match[0].length - 4;\n widgets.push(Decoration.mark({ class: 'text-greenText' }).range(start, end));\n }\n }\n }\n\n // Sort decorations by position to avoid \"Ranges must be added sorted\" error.\n widgets.sort((a, b) => a.from - b.from || a.startSide - b.startSide);\n return Decoration.set(widgets);\n }\n\n update(update: ViewUpdate) {\n if (update.docChanged || update.viewportChanged) {\n this.decorations = this.buildDecorations(update.view);\n }\n }\n },\n {\n decorations: (v) => v.decorations,\n },\n);\n\n// TODO(burdon): Pass in variables.\nconst variables = ['this'];\nconst commands = ['this', 'each', 'if', 'unless', 'with'];\n\n/**\n * Provides completions for Handlebars variables.\n */\nfunction handlebarsCompletions(context: CompletionContext): CompletionResult | null {\n const match = context.matchBefore(/\\{\\{[^}]*/);\n if (!match || match.from === match.to) {\n return null;\n }\n\n let type = 'variable';\n let text = match.text.slice(2);\n let from = match.from + 2;\n let matches = [];\n if (text.startsWith('#') || text.startsWith('/')) {\n const idx = text.lastIndexOf(' ');\n if (idx !== -1) {\n type = 'variable';\n matches = variables;\n text = text.slice(idx + 1);\n from += idx + 1;\n } else {\n type = 'command';\n text = text.slice(1);\n matches = commands;\n from += 1;\n }\n } else {\n type = 'variable';\n matches = variables;\n }\n\n const options = matches.filter((name) => name.startsWith(text)).map((name) => ({ type, label: name }));\n return {\n from,\n options,\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "createDocAccessor", "useThemeContext", "useTranslation", "createBasicExtensions", "createDataExtensions", "createMarkdownExtensions", "createThemeExtensions", "decorateMarkdown", "useTextEditor", "mx", "isTruthy", "autocompletion", "completionKeymap", "Decoration", "ViewPlugin", "keymap", "handlebars", "_", "handlebarsHighlightPlugin", "autocompletion", "activateOnTyping", "aboveCursor", "closeOnBlur", "override", "handlebarsCompletions", "keymap", "of", "completionKeymap", "regex", "comment", "brackets", "command", "var", "ViewPlugin", "fromClass", "buildDecorations", "view", "widgets", "from", "to", "visibleRanges", "text", "state", "doc", "sliceString", "match", "exec", "start", "index", "end", "length", "push", "Decoration", "mark", "class", "range", "parts", "split", "idx", "sort", "a", "b", "startSide", "set", "update", "docChanged", "viewportChanged", "decorations", "v", "variables", "commands", "context", "matchBefore", "type", "slice", "matches", "startsWith", "lastIndexOf", "options", "filter", "name", "map", "label", "TemplateEditor", "id", "classNames", "template", "t", "useTranslation", "meta", "themeMode", "useThemeContext", "parentRef", "useTextEditor", "text", "source", "target", "initialValue", "content", "extensions", "createDataExtensions", "createDocAccessor", "createBasicExtensions", "bracketMatching", "lineNumbers", "lineWrapping", "placeholder", "createThemeExtensions", "createMarkdownExtensions", "decorateMarkdown", "handlebars", "filter", "isTruthy", "div", "ref", "className", "mx"]
7
+ }
@@ -0,0 +1,297 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ LLM_PROVIDERS,
4
+ ServiceType
5
+ } from "./chunk-TNR46C3L.mjs";
6
+ import {
7
+ meta
8
+ } from "./chunk-73ABYRYX.mjs";
9
+
10
+ // src/components/AssistantSettings/AssistantSettings.tsx
11
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
+ import React from "react";
13
+ import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from "@dxos/ai";
14
+ import { Input, Select, useTranslation } from "@dxos/react-ui";
15
+ import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
16
+ var DEFAULT_VALUE = "__default";
17
+ var LLM_PROVIDER_LABELS = {
18
+ edge: "DXOS",
19
+ ollama: "Ollama",
20
+ lmstudio: "LM Studio"
21
+ };
22
+ var AssistantSettings = ({ settings }) => {
23
+ var _effect = _useSignals();
24
+ try {
25
+ const { t } = useTranslation(meta.id);
26
+ return /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
27
+ title: t("settings title", {
28
+ ns: meta.id
29
+ })
30
+ }, /* @__PURE__ */ React.createElement(ControlGroup, null, /* @__PURE__ */ React.createElement(ControlItemInput, {
31
+ title: t("settings custom prompts label")
32
+ }, /* @__PURE__ */ React.createElement(Input.Switch, {
33
+ checked: !!settings.customPrompts,
34
+ onCheckedChange: (checked) => settings.customPrompts = checked
35
+ })), /* @__PURE__ */ React.createElement(ControlItemInput, {
36
+ title: t("settings llm provider label")
37
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
38
+ value: settings.llmProvider ?? "edge",
39
+ onValueChange: (value) => {
40
+ settings.llmProvider = value === DEFAULT_VALUE ? void 0 : value;
41
+ }
42
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
43
+ placeholder: t("settings llm provider label")
44
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
45
+ value: DEFAULT_VALUE
46
+ }, t("settings default label")), LLM_PROVIDERS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
47
+ key: model,
48
+ value: model
49
+ }, LLM_PROVIDER_LABELS[model]))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
50
+ title: t("settings edge llm model label")
51
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
52
+ value: settings.edgeModel ?? DEFAULT_VALUE,
53
+ onValueChange: (value) => {
54
+ settings.edgeModel = value === DEFAULT_VALUE ? void 0 : value;
55
+ }
56
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
57
+ placeholder: t("settings default llm model label")
58
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
59
+ value: DEFAULT_VALUE
60
+ }, t("settings default label")), DEFAULT_EDGE_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
61
+ key: model,
62
+ value: model
63
+ }, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
64
+ title: t("settings ollama llm model label")
65
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
66
+ value: settings.ollamaModel ?? DEFAULT_VALUE,
67
+ onValueChange: (value) => {
68
+ settings.ollamaModel = value === DEFAULT_VALUE ? void 0 : value;
69
+ }
70
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
71
+ placeholder: t("settings default llm model label")
72
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
73
+ value: DEFAULT_VALUE
74
+ }, t("settings default label")), DEFAULT_OLLAMA_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
75
+ key: model,
76
+ value: model
77
+ }, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))))));
78
+ } finally {
79
+ _effect.f();
80
+ }
81
+ };
82
+
83
+ // src/components/ChatProgress/ChatProgress.tsx
84
+ import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
85
+ import React2, { useCallback, useEffect, useMemo, useRef, useState } from "react";
86
+ import { addEventListener } from "@dxos/async";
87
+ import { Flex, ProgressBar, TextCrawl, useExecutionGraph } from "@dxos/react-ui-components";
88
+ var ChatProgress = ({ chat }) => {
89
+ var _effect = _useSignals2();
90
+ try {
91
+ const { commits } = useExecutionGraph(chat.traceQueue?.target, true);
92
+ const nodes = useMemo(() => commits.map((commit) => ({
93
+ id: commit.id,
94
+ message: commit.message
95
+ })), [
96
+ commits
97
+ ]);
98
+ const lines = useMemo(() => commits.map((commit) => commit.message), [
99
+ commits
100
+ ]);
101
+ const [index, setIndex] = useState(void 0);
102
+ const handleSelect = useCallback(({ index: index2 }) => {
103
+ setIndex((current) => {
104
+ return current === index2 ? void 0 : index2;
105
+ });
106
+ }, []);
107
+ const ref = useRef(null);
108
+ useEffect(() => {
109
+ if (!ref.current) {
110
+ return;
111
+ }
112
+ return addEventListener(ref.current, "keydown", (event) => {
113
+ switch (event.key) {
114
+ case "ArrowLeft": {
115
+ setIndex((current) => current === void 0 || current <= 0 ? 0 : current - 1);
116
+ break;
117
+ }
118
+ case "ArrowRight": {
119
+ setIndex((current) => current === void 0 || current >= nodes.length ? nodes.length - 1 : current + 1);
120
+ break;
121
+ }
122
+ }
123
+ });
124
+ }, [
125
+ nodes.length
126
+ ]);
127
+ return /* @__PURE__ */ React2.createElement(Flex, {
128
+ column: true,
129
+ tabIndex: 0,
130
+ ref,
131
+ classNames: "outline-none"
132
+ }, /* @__PURE__ */ React2.createElement(ProgressBar, {
133
+ nodes,
134
+ index,
135
+ onSelect: handleSelect
136
+ }), /* @__PURE__ */ React2.createElement(TextCrawl, {
137
+ lines,
138
+ index,
139
+ autoAdvance: true,
140
+ classNames: "pis-4 text-sm text-subdued"
141
+ }));
142
+ } finally {
143
+ _effect.f();
144
+ }
145
+ };
146
+
147
+ // src/components/PromptSettings.tsx
148
+ import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
149
+ import React3 from "react";
150
+ import { Toolbar, useTranslation as useTranslation2 } from "@dxos/react-ui";
151
+ var PromptSettings = ({ template }) => {
152
+ var _effect = _useSignals3();
153
+ try {
154
+ const { t } = useTranslation2(meta.id);
155
+ return /* @__PURE__ */ React3.createElement("div", {
156
+ className: "flex flex-col gap-4"
157
+ }, /* @__PURE__ */ React3.createElement("h2", null, t("prompt rules label")), /* @__PURE__ */ React3.createElement(Toolbar.Root, null));
158
+ } finally {
159
+ _effect.f();
160
+ }
161
+ };
162
+
163
+ // src/components/Toolbox/Toolbox.tsx
164
+ import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
165
+ import React4, { Fragment, useEffect as useEffect2, useState as useState2 } from "react";
166
+ import { FunctionType } from "@dxos/functions";
167
+ import { log } from "@dxos/log";
168
+ import { Filter, useQuery } from "@dxos/react-client/echo";
169
+ import { useTranslation as useTranslation3 } from "@dxos/react-ui";
170
+ import { mx } from "@dxos/react-ui-theme";
171
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/components/Toolbox/Toolbox.tsx";
172
+ var Toolbox = ({ classNames, functions, services, blueprints, activeBlueprints }) => {
173
+ var _effect = _useSignals4();
174
+ try {
175
+ const { t } = useTranslation3(meta.id);
176
+ return /* @__PURE__ */ React4.createElement("div", {
177
+ className: mx("flex flex-col overflow-y-auto box-content", classNames)
178
+ }, blueprints && blueprints.length > 0 && /* @__PURE__ */ React4.createElement(Section, {
179
+ title: "Blueprints",
180
+ items: blueprints.map(({ target }) => ({
181
+ name: target?.name ?? "",
182
+ description: target?.description ?? "",
183
+ subitems: target?.tools.map((toolId) => ({
184
+ name: `\u2219 ${safeToolId(toolId)}`
185
+ }))
186
+ }))
187
+ }), activeBlueprints && activeBlueprints.length > 0 && /* @__PURE__ */ React4.createElement(Section, {
188
+ title: "Blueprints",
189
+ items: activeBlueprints.map(({ target }) => ({
190
+ name: target?.name ?? "",
191
+ description: target?.description ?? "",
192
+ subitems: target?.tools.map((toolId) => ({
193
+ name: `\u2219 ${safeToolId(toolId)}`
194
+ }))
195
+ }))
196
+ }), services && services.length > 0 && /* @__PURE__ */ React4.createElement(Section, {
197
+ title: "Services",
198
+ items: services.map(({ service: { serviceId, name, description } }) => ({
199
+ name: name ?? serviceId,
200
+ description
201
+ }))
202
+ }), functions && functions.length > 0 && /* @__PURE__ */ React4.createElement(Section, {
203
+ title: "Functions",
204
+ items: functions.map(({ name, description }) => ({
205
+ name,
206
+ description
207
+ }))
208
+ }));
209
+ } finally {
210
+ _effect.f();
211
+ }
212
+ };
213
+ var Section = ({ title, items, striped }) => {
214
+ var _effect = _useSignals4();
215
+ try {
216
+ const stripeClassNames = "odd:bg-neutral-50 dark:odd:bg-neutral-800";
217
+ const gridClassNames = "grid grid-cols-[8rem_1fr]";
218
+ const subGridClassNames = mx("col-span-full grid grid-cols-subgrid text-xs px-2", striped && stripeClassNames);
219
+ return /* @__PURE__ */ React4.createElement("div", null, /* @__PURE__ */ React4.createElement("h1", {
220
+ className: "px-2 text-sm"
221
+ }, title), /* @__PURE__ */ React4.createElement("div", {
222
+ className: gridClassNames
223
+ }, items.map(({ name, description, subitems }, i) => /* @__PURE__ */ React4.createElement(Fragment, {
224
+ key: i
225
+ }, name && /* @__PURE__ */ React4.createElement("div", {
226
+ className: subGridClassNames
227
+ }, /* @__PURE__ */ React4.createElement("div", {
228
+ className: "truncate text-primary-500"
229
+ }, name), /* @__PURE__ */ React4.createElement("div", {
230
+ className: "line-clamp-2"
231
+ }, description)), subitems?.map(({ name: name2, description: description2 }, i2) => /* @__PURE__ */ React4.createElement("div", {
232
+ key: i2,
233
+ className: mx(subGridClassNames, striped && stripeClassNames)
234
+ }, /* @__PURE__ */ React4.createElement("div", {
235
+ className: "truncate"
236
+ }, name2), /* @__PURE__ */ React4.createElement("div", {
237
+ className: "line-clamp-3 text-subdued"
238
+ }, description2)))))));
239
+ } finally {
240
+ _effect.f();
241
+ }
242
+ };
243
+ var ToolboxContainer = ({ classNames, space, processor }) => {
244
+ var _effect = _useSignals4();
245
+ try {
246
+ const services = useQuery(space, Filter.type(ServiceType));
247
+ const [serviceTools, setServiceTools] = useState2([]);
248
+ useEffect2(() => {
249
+ log("creating service tools...", {
250
+ services: services.length
251
+ }, {
252
+ F: __dxlog_file,
253
+ L: 117,
254
+ S: void 0,
255
+ C: (f, a) => f(...a)
256
+ });
257
+ queueMicrotask(async () => {
258
+ });
259
+ }, [
260
+ services
261
+ ]);
262
+ const functions = useQuery(space, Filter.type(FunctionType));
263
+ return /* @__PURE__ */ React4.createElement(Toolbox, {
264
+ classNames,
265
+ blueprints: processor?.context.blueprints.value,
266
+ services: serviceTools,
267
+ functions
268
+ });
269
+ } finally {
270
+ _effect.f();
271
+ }
272
+ };
273
+ var safeToolId = (name) => {
274
+ return name.split("_").pop();
275
+ };
276
+
277
+ // src/components/index.ts
278
+ import { lazy } from "react";
279
+ var BlueprintContainer = lazy(() => import("./BlueprintContainer-4MKN6ZRB.mjs"));
280
+ var ChatCompanion = lazy(() => import("./ChatCompanion-XFNXVZIP.mjs"));
281
+ var ChatContainer = lazy(() => import("./ChatContainer-UTJGCQXF.mjs"));
282
+ var ChatDialog = lazy(() => import("./ChatDialog-QEYZ4IOV.mjs"));
283
+ var SequenceContainer = lazy(() => import("./SequenceContainer-PGGJUQ46.mjs"));
284
+
285
+ export {
286
+ AssistantSettings,
287
+ ChatProgress,
288
+ PromptSettings,
289
+ Toolbox,
290
+ ToolboxContainer,
291
+ BlueprintContainer,
292
+ ChatCompanion,
293
+ ChatContainer,
294
+ ChatDialog,
295
+ SequenceContainer
296
+ };
297
+ //# sourceMappingURL=chunk-E2WXZND7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx", "../../../src/components/ChatProgress/ChatProgress.tsx", "../../../src/components/PromptSettings.tsx", "../../../src/components/Toolbox/Toolbox.tsx", "../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type Assistant, LLM_PROVIDERS } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: Assistant.Settings }) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <ControlPage>\n <ControlSection title={t('settings title', { ns: meta.id })}>\n <ControlGroup>\n <ControlItemInput title={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n\n <ControlItemInput title={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n\n <ControlItemInput title={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { addEventListener } from '@dxos/async';\nimport { Flex, ProgressBar, type ProgressBarProps, TextCrawl, useExecutionGraph } from '@dxos/react-ui-components';\n\nimport { type Assistant } from '../../types';\n\n// TODO(burdon): Reset after each session.\n// TODO(burdon): Show after delay.\n// TODO(burdon): Test with errors.\n// TODO(burdon): Filter out empty trace messages.\n\n// {\n// \"id\": \"01K3TE3C2VAXETP500QKDHK3C4_block_3\",\n// \"branch\": \"main\",\n// \"parents\": [],\n// \"icon\": \"ph--robot--regular\",\n// \"message\": \"\\n\"\n// }\n\nexport type ChatProgressProps = {\n chat: Assistant.Chat;\n};\n\nexport const ChatProgress = ({ chat }: ChatProgressProps) => {\n const { commits } = useExecutionGraph(chat.traceQueue?.target, true);\n const nodes = useMemo(() => commits.map((commit) => ({ id: commit.id, message: commit.message })), [commits]);\n const lines = useMemo(() => commits.map((commit) => commit.message), [commits]);\n\n const [index, setIndex] = useState<number | undefined>(undefined);\n const handleSelect = useCallback<NonNullable<ProgressBarProps['onSelect']>>(({ index }) => {\n setIndex((current) => {\n return current === index ? undefined : index;\n });\n }, []);\n\n const ref = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n return addEventListener(ref.current, 'keydown', (event) => {\n switch (event.key) {\n case 'ArrowLeft': {\n setIndex((current) => (current === undefined || current <= 0 ? 0 : current - 1));\n break;\n }\n case 'ArrowRight': {\n setIndex((current) => (current === undefined || current >= nodes.length ? nodes.length - 1 : current + 1));\n break;\n }\n }\n });\n }, [nodes.length]);\n\n return (\n <Flex column tabIndex={0} ref={ref} classNames='outline-none'>\n <ProgressBar nodes={nodes} index={index} onSelect={handleSelect} />\n <TextCrawl lines={lines} index={index} autoAdvance classNames='pis-4 text-sm text-subdued' />\n </Flex>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Template } from '@dxos/blueprints';\nimport { Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nexport const PromptSettings = ({ template }: { template: Template.Template }) => {\n const { t } = useTranslation(meta.id);\n\n // const handleKindChange = useCallback(\n // (value: string) => {\n // const kind = Match.type<string>().pipe(\n // Match.withReturnType<Schema.Schema.Type<typeof Template.Template>>(),\n // Match.when('always', () => ({ include: 'always' })),\n // Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n // Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n // Match.orElse(() => ({ include: 'manual' })),\n // )(value);\n //\n // template.kind = kind;\n // },\n // [template],\n // );\n\n // const handleTypenameChange = useCallback(\n // debounce((event: ChangeEvent<HTMLInputElement>) => {\n // if (template.kind.include === 'schema-matching') {\n // template.kind.typename = event.target.value;\n // }\n // }, 300),\n // [template.kind.include],\n // );\n\n // const handleDescriptionChange = useCallback(\n // debounce((event: ChangeEvent<HTMLInputElement>) => {\n // if (template.kind.include === 'automatically') {\n // template.kind.description = event.target.value;\n // }\n // }, 300),\n // [template.kind.include],\n // );\n\n return (\n <div className='flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n {/* <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {Template.Kinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root> */}\n {/* {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )} */}\n {/* {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )} */}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type FC, Fragment, useEffect, useState } from 'react';\n\nimport { type Blueprint } from '@dxos/blueprints';\nimport { type Ref } from '@dxos/echo';\nimport { FunctionType } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { Filter, type Space, useQuery } from '@dxos/react-client/echo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { useTranslation } from '@dxos/react-ui';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { meta } from '../../meta';\nimport { type AiChatProcessor } from '../../processor';\nimport { ServiceType } from '../../types';\n\nexport type ToolboxProps = ThemedClassName<{\n services?: { service: ServiceType }[];\n functions?: FunctionType[];\n // TODO(burdon): Combine into single array.\n blueprints?: readonly Ref.Ref<Blueprint.Blueprint>[];\n activeBlueprints?: readonly Ref.Ref<Blueprint.Blueprint>[];\n}>;\n\nexport const Toolbox = ({ classNames, functions, services, blueprints, activeBlueprints }: ToolboxProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <div className={mx('flex flex-col overflow-y-auto box-content', classNames)}>\n {blueprints && blueprints.length > 0 && (\n <Section\n title='Blueprints'\n items={blueprints.map(({ target }) => ({\n name: target?.name ?? '',\n description: target?.description ?? '',\n subitems: target?.tools.map((toolId) => ({ name: `∙ ${safeToolId(toolId)}` })),\n }))}\n />\n )}\n\n {activeBlueprints && activeBlueprints.length > 0 && (\n <Section\n title='Blueprints'\n items={activeBlueprints.map(({ target }) => ({\n name: target?.name ?? '',\n description: target?.description ?? '',\n subitems: target?.tools.map((toolId) => ({ name: `∙ ${safeToolId(toolId)}` })),\n }))}\n />\n )}\n\n {services && services.length > 0 && (\n <Section\n title='Services'\n items={services.map(({ service: { serviceId, name, description } }) => ({\n name: name ?? serviceId,\n description,\n // subitems: tools.map(({ name, description }) => ({ name: `∙ ${name}`, description })),\n }))}\n />\n )}\n\n {functions && functions.length > 0 && (\n <Section title='Functions' items={functions.map(({ name, description }) => ({ name, description }))} />\n )}\n </div>\n );\n};\n\nconst Section: FC<{\n title: string;\n items: { name: string; description?: string; subitems?: { name: string; description?: string }[] }[];\n striped?: boolean;\n}> = ({ title, items, striped }) => {\n const stripeClassNames = 'odd:bg-neutral-50 dark:odd:bg-neutral-800';\n const gridClassNames = 'grid grid-cols-[8rem_1fr]';\n const subGridClassNames = mx('col-span-full grid grid-cols-subgrid text-xs px-2', striped && stripeClassNames);\n\n return (\n <div>\n <h1 className='px-2 text-sm'>{title}</h1>\n <div className={gridClassNames}>\n {items.map(({ name, description, subitems }, i) => (\n <Fragment key={i}>\n {name && (\n <div className={subGridClassNames}>\n <div className='truncate text-primary-500'>{name}</div>\n <div className='line-clamp-2'>{description}</div>\n </div>\n )}\n {subitems?.map(({ name, description }, i) => (\n <div key={i} className={mx(subGridClassNames, striped && stripeClassNames)}>\n <div className='truncate'>{name}</div>\n <div className='line-clamp-3 text-subdued'>{description}</div>\n </div>\n ))}\n </Fragment>\n ))}\n </div>\n </div>\n );\n};\n\nexport type ToolboxContainerProps = ThemedClassName<{\n space?: Space;\n processor?: AiChatProcessor;\n}>;\n\nexport const ToolboxContainer = ({ classNames, space, processor }: ToolboxContainerProps) => {\n // Registered services.\n const services = useQuery(space, Filter.type(ServiceType));\n const [serviceTools, setServiceTools] = useState<{ service: ServiceType }[]>([]);\n useEffect(() => {\n log('creating service tools...', { services: services.length });\n queueMicrotask(async () => {\n // TODO(burdon): Fix.\n // const tools = await Promise.all(\n // services.map(async (service) => ({ service, tools: await createToolsFromService(service) })),\n // );\n // setServiceTools(tools);\n });\n }, [services]);\n\n // Deployed functions.\n const functions = useQuery(space, Filter.type(FunctionType));\n\n return (\n <Toolbox\n classNames={classNames}\n blueprints={processor?.context.blueprints.value}\n services={serviceTools}\n functions={functions}\n />\n );\n};\n\nconst safeToolId = (name: string) => {\n return name.split('_').pop();\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AssistantSettings';\nexport * from './Chat';\nexport * from './ChatProgress';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Toolbar';\nexport * from './Toolbox';\n\nexport const BlueprintContainer = lazy(() => import('./BlueprintContainer'));\nexport const ChatCompanion = lazy(() => import('./ChatCompanion'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const ChatDialog = lazy(() => import('./ChatDialog'));\nexport const SequenceContainer = lazy(() => import('./SequenceContainer'));\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "meta", "id", "ControlPage", "ControlSection", "title", "ns", "ControlGroup", "ControlItemInput", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "Arrow", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "React", "useCallback", "useEffect", "useMemo", "useRef", "useState", "addEventListener", "Flex", "ProgressBar", "TextCrawl", "useExecutionGraph", "ChatProgress", "chat", "commits", "useExecutionGraph", "traceQueue", "target", "nodes", "useMemo", "map", "commit", "id", "message", "lines", "index", "setIndex", "useState", "undefined", "handleSelect", "useCallback", "current", "ref", "useRef", "useEffect", "addEventListener", "event", "key", "length", "React", "Flex", "column", "tabIndex", "classNames", "ProgressBar", "onSelect", "TextCrawl", "autoAdvance", "React", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "meta", "id", "React", "div", "className", "h2", "Toolbar", "Root", "React", "Fragment", "useEffect", "useState", "FunctionType", "log", "Filter", "useQuery", "useTranslation", "mx", "Toolbox", "classNames", "functions", "services", "blueprints", "activeBlueprints", "t", "useTranslation", "meta", "id", "React", "div", "className", "mx", "length", "Section", "title", "items", "map", "target", "name", "description", "subitems", "tools", "toolId", "safeToolId", "service", "serviceId", "striped", "stripeClassNames", "gridClassNames", "subGridClassNames", "h1", "i", "Fragment", "key", "ToolboxContainer", "space", "processor", "useQuery", "Filter", "type", "ServiceType", "serviceTools", "setServiceTools", "useState", "useEffect", "log", "queueMicrotask", "FunctionType", "context", "value", "split", "pop", "lazy", "BlueprintContainer", "lazy", "ChatCompanion", "ChatContainer", "ChatDialog", "SequenceContainer"]
7
+ }
@@ -0,0 +1,11 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, { get: all[name], enumerable: true });
6
+ };
7
+
8
+ export {
9
+ __export
10
+ };
11
+ //# sourceMappingURL=chunk-HSLMI22Q.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }