@dxos/plugin-assistant 0.8.4-main.5acf9ea → 0.8.4-main.5ea62a8

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 (462) hide show
  1. package/dist/lib/browser/{BlueprintContainer-IZ4AK5EO.mjs → BlueprintContainer-OWUSKPRK.mjs} +4 -3
  2. package/dist/lib/browser/ChatCompanion-FRCVSLPP.mjs +126 -0
  3. package/dist/lib/browser/ChatCompanion-FRCVSLPP.mjs.map +7 -0
  4. package/dist/lib/browser/{ChatContainer-RP3QEXYX.mjs → ChatContainer-YBJBIVUZ.mjs} +34 -13
  5. package/dist/lib/browser/ChatContainer-YBJBIVUZ.mjs.map +7 -0
  6. package/dist/lib/browser/{ChatDialog-ZVLXFHEY.mjs → ChatDialog-MTPJLEHM.mjs} +26 -9
  7. package/dist/lib/browser/ChatDialog-MTPJLEHM.mjs.map +7 -0
  8. package/dist/lib/browser/{SequenceContainer-3UDVKWPA.mjs → SequenceContainer-TF5QNXYM.mjs} +5 -17
  9. package/dist/lib/browser/SequenceContainer-TF5QNXYM.mjs.map +7 -0
  10. package/dist/lib/browser/ai-service-NRZPTUHO.mjs +22 -0
  11. package/dist/lib/browser/ai-service-NRZPTUHO.mjs.map +7 -0
  12. package/dist/lib/browser/{app-graph-builder-XSEOKJLG.mjs → app-graph-builder-7AAWTWGA.mjs} +25 -36
  13. package/dist/lib/browser/app-graph-builder-7AAWTWGA.mjs.map +7 -0
  14. package/dist/lib/browser/blueprint-definition-CRZPIA5A.mjs +12 -0
  15. package/dist/lib/browser/blueprint-definition-CRZPIA5A.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-6QMISAU6.mjs +167 -0
  17. package/dist/lib/browser/chunk-6QMISAU6.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-LERGF5YG.mjs → chunk-CFXXQM25.mjs} +96 -22
  19. package/dist/lib/browser/chunk-CFXXQM25.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-IJAJRAR7.mjs +18 -0
  21. package/dist/lib/browser/chunk-IJAJRAR7.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  23. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-O4LUJEDV.mjs +20 -0
  25. package/dist/lib/browser/{chunk-FDCJSQYF.mjs.map → chunk-O4LUJEDV.mjs.map} +2 -2
  26. package/dist/lib/browser/chunk-OYFQS7JM.mjs +157 -0
  27. package/dist/lib/browser/chunk-OYFQS7JM.mjs.map +7 -0
  28. package/dist/lib/browser/chunk-SMIVXXAI.mjs +202 -0
  29. package/dist/lib/browser/chunk-SMIVXXAI.mjs.map +7 -0
  30. package/dist/lib/browser/chunk-V5H5CCZA.mjs +218 -0
  31. package/dist/lib/browser/chunk-V5H5CCZA.mjs.map +7 -0
  32. package/dist/lib/browser/chunk-XL557TXF.mjs +2332 -0
  33. package/dist/lib/browser/chunk-XL557TXF.mjs.map +7 -0
  34. package/dist/lib/browser/edge-model-resolver-E5M3CC46.mjs +22 -0
  35. package/dist/lib/browser/edge-model-resolver-E5M3CC46.mjs.map +7 -0
  36. package/dist/lib/browser/index.mjs +134 -59
  37. package/dist/lib/browser/index.mjs.map +4 -4
  38. package/dist/lib/browser/intent-resolver-BQO5SVGI.mjs +112 -0
  39. package/dist/lib/browser/intent-resolver-BQO5SVGI.mjs.map +7 -0
  40. package/dist/lib/browser/local-model-resolver-VZ5WZQIC.mjs +21 -0
  41. package/dist/lib/browser/local-model-resolver-VZ5WZQIC.mjs.map +7 -0
  42. package/dist/lib/browser/meta.json +1 -1
  43. package/dist/lib/browser/{react-surface-3GYEHQRP.mjs → react-surface-VNCD2H7C.mjs} +25 -66
  44. package/dist/lib/browser/react-surface-VNCD2H7C.mjs.map +7 -0
  45. package/dist/lib/browser/{settings-5GTTCVGD.mjs → settings-36V3VUMW.mjs} +6 -5
  46. package/dist/lib/{node-esm/settings-J2EXEM5H.mjs.map → browser/settings-36V3VUMW.mjs.map} +1 -1
  47. package/dist/lib/browser/state-D5IVKNYG.mjs +21 -0
  48. package/dist/lib/browser/state-D5IVKNYG.mjs.map +7 -0
  49. package/dist/lib/browser/toolkit-Y5OYX5PO.mjs +191 -0
  50. package/dist/lib/browser/toolkit-Y5OYX5PO.mjs.map +7 -0
  51. package/dist/lib/browser/types/index.mjs +7 -4
  52. package/dist/lib/node-esm/{BlueprintContainer-RGTMNLNX.mjs → BlueprintContainer-UFVWCRN6.mjs} +4 -3
  53. package/dist/lib/{browser/BlueprintContainer-IZ4AK5EO.mjs.map → node-esm/BlueprintContainer-UFVWCRN6.mjs.map} +1 -1
  54. package/dist/lib/node-esm/ChatCompanion-ZNRZEKH5.mjs +127 -0
  55. package/dist/lib/node-esm/ChatCompanion-ZNRZEKH5.mjs.map +7 -0
  56. package/dist/lib/node-esm/{ChatContainer-W3W6FWV3.mjs → ChatContainer-TUCITJJW.mjs} +34 -13
  57. package/dist/lib/node-esm/ChatContainer-TUCITJJW.mjs.map +7 -0
  58. package/dist/lib/node-esm/{ChatDialog-QW4JRKVO.mjs → ChatDialog-JLM7RDZQ.mjs} +26 -9
  59. package/dist/lib/node-esm/ChatDialog-JLM7RDZQ.mjs.map +7 -0
  60. package/dist/lib/node-esm/{SequenceContainer-RQQH5XOC.mjs → SequenceContainer-UXOVZPZO.mjs} +5 -17
  61. package/dist/lib/node-esm/SequenceContainer-UXOVZPZO.mjs.map +7 -0
  62. package/dist/lib/node-esm/ai-service-UDEPIPTO.mjs +23 -0
  63. package/dist/lib/node-esm/ai-service-UDEPIPTO.mjs.map +7 -0
  64. package/dist/lib/node-esm/{app-graph-builder-PANCJUHV.mjs → app-graph-builder-PNAFQUYT.mjs} +25 -36
  65. package/dist/lib/node-esm/app-graph-builder-PNAFQUYT.mjs.map +7 -0
  66. package/dist/lib/node-esm/blueprint-definition-275J3XL2.mjs +13 -0
  67. package/dist/lib/node-esm/blueprint-definition-275J3XL2.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-2X6VEO32.mjs +2333 -0
  69. package/dist/lib/node-esm/chunk-2X6VEO32.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-7YOGZI66.mjs +203 -0
  71. package/dist/lib/node-esm/chunk-7YOGZI66.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-CAQKGW3B.mjs +159 -0
  73. package/dist/lib/node-esm/chunk-CAQKGW3B.mjs.map +7 -0
  74. package/dist/lib/node-esm/{chunk-MS3PJARN.mjs → chunk-FNZJJL7G.mjs} +96 -22
  75. package/dist/lib/node-esm/chunk-FNZJJL7G.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  77. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  78. package/dist/lib/node-esm/chunk-RLBN4RNR.mjs +168 -0
  79. package/dist/lib/node-esm/chunk-RLBN4RNR.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-UWUUZQWJ.mjs +219 -0
  81. package/dist/lib/node-esm/chunk-UWUUZQWJ.mjs.map +7 -0
  82. package/dist/lib/node-esm/chunk-VFY2JG62.mjs +22 -0
  83. package/dist/lib/node-esm/{chunk-QN2H2EHV.mjs.map → chunk-VFY2JG62.mjs.map} +2 -2
  84. package/dist/lib/node-esm/chunk-YPXEA46Q.mjs +19 -0
  85. package/dist/lib/node-esm/chunk-YPXEA46Q.mjs.map +7 -0
  86. package/dist/lib/node-esm/edge-model-resolver-SZHDLXCT.mjs +23 -0
  87. package/dist/lib/node-esm/edge-model-resolver-SZHDLXCT.mjs.map +7 -0
  88. package/dist/lib/node-esm/index.mjs +134 -59
  89. package/dist/lib/node-esm/index.mjs.map +4 -4
  90. package/dist/lib/node-esm/intent-resolver-FIS3T5KP.mjs +113 -0
  91. package/dist/lib/node-esm/intent-resolver-FIS3T5KP.mjs.map +7 -0
  92. package/dist/lib/node-esm/local-model-resolver-2KCBKMYA.mjs +22 -0
  93. package/dist/lib/node-esm/local-model-resolver-2KCBKMYA.mjs.map +7 -0
  94. package/dist/lib/node-esm/meta.json +1 -1
  95. package/dist/lib/node-esm/{react-surface-QDQWJ7FZ.mjs → react-surface-4NLRKNBU.mjs} +25 -66
  96. package/dist/lib/node-esm/react-surface-4NLRKNBU.mjs.map +7 -0
  97. package/dist/lib/node-esm/{settings-J2EXEM5H.mjs → settings-7ZCZ6AS5.mjs} +6 -5
  98. package/dist/lib/{browser/settings-5GTTCVGD.mjs.map → node-esm/settings-7ZCZ6AS5.mjs.map} +1 -1
  99. package/dist/lib/node-esm/state-4VLKPLW3.mjs +22 -0
  100. package/dist/lib/node-esm/state-4VLKPLW3.mjs.map +7 -0
  101. package/dist/lib/node-esm/toolkit-2F2OL6WB.mjs +192 -0
  102. package/dist/lib/node-esm/toolkit-2F2OL6WB.mjs.map +7 -0
  103. package/dist/lib/node-esm/types/index.mjs +7 -4
  104. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/ai-service.d.ts +5 -0
  106. package/dist/types/src/capabilities/ai-service.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  108. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/blueprint-definition.d.ts +7 -0
  110. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/capabilities.d.ts +19 -0
  112. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/edge-model-resolver.d.ts +4 -0
  114. package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/index.d.ts +11 -3
  116. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  118. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/local-model-resolver.d.ts +10 -0
  120. package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  122. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/settings.d.ts +1 -1
  124. package/dist/types/src/capabilities/state.d.ts +4 -0
  125. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/toolkit.d.ts +4 -0
  127. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
  128. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  129. package/dist/types/src/components/Chat/Chat.d.ts +19 -16
  130. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  131. package/dist/types/src/components/Chat/events.d.ts +5 -0
  132. package/dist/types/src/components/Chat/events.d.ts.map +1 -1
  133. package/dist/types/src/components/ChatCompanion.d.ts +13 -0
  134. package/dist/types/src/components/ChatCompanion.d.ts.map +1 -0
  135. package/dist/types/src/components/ChatContainer.d.ts +4 -4
  136. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  137. package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
  138. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
  139. package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
  140. package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
  141. package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
  142. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  143. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
  144. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
  145. package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
  146. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +4 -5
  147. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  148. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
  149. package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
  150. package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
  151. package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
  152. package/dist/types/src/components/ChatThread/ChatMessage.d.ts +21 -5
  153. package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +1 -1
  154. package/dist/types/src/components/ChatThread/ChatThread.d.ts +4 -4
  155. package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
  156. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +108 -30
  157. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
  158. package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
  159. package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
  160. package/dist/types/src/components/ChatThread/ToolBlock.d.ts +12 -12
  161. package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +1 -1
  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/PromptSettings.d.ts.map +1 -1
  165. package/dist/types/src/components/SequenceContainer.d.ts.map +1 -1
  166. package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +1 -1
  167. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +257 -2
  168. package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +1 -1
  169. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +0 -5
  170. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  171. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +257 -6
  172. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  173. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  174. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +254 -1
  175. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
  176. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts +12 -0
  177. package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +1 -0
  178. package/dist/types/src/components/Toolbar/Toolbar.d.ts +4 -0
  179. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
  180. package/dist/types/src/components/Toolbar/index.d.ts +2 -0
  181. package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
  182. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts +11 -0
  183. package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts.map +1 -0
  184. package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -9
  185. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  186. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +258 -4
  187. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
  188. package/dist/types/src/components/index.d.ts +4 -1
  189. package/dist/types/src/components/index.d.ts.map +1 -1
  190. package/dist/types/src/events.d.ts +1 -1
  191. package/dist/types/src/events.d.ts.map +1 -1
  192. package/dist/types/src/execution-graph/execution-graph.d.ts +21 -0
  193. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -0
  194. package/dist/types/src/execution-graph/index.d.ts +2 -0
  195. package/dist/types/src/execution-graph/index.d.ts.map +1 -0
  196. package/dist/types/src/functions/analysis.d.ts +5 -0
  197. package/dist/types/src/functions/analysis.d.ts.map +1 -0
  198. package/dist/types/src/functions/index.d.ts +4 -0
  199. package/dist/types/src/functions/index.d.ts.map +1 -0
  200. package/dist/types/src/functions/list.d.ts +10 -0
  201. package/dist/types/src/functions/list.d.ts.map +1 -0
  202. package/dist/types/src/functions/load.d.ts +8 -0
  203. package/dist/types/src/functions/load.d.ts.map +1 -0
  204. package/dist/types/src/hooks/index.d.ts +10 -3
  205. package/dist/types/src/hooks/index.d.ts.map +1 -1
  206. package/dist/types/src/hooks/useBlueprintRegistry.d.ts +24 -0
  207. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
  208. package/dist/types/src/hooks/useChatProcessor.d.ts +7 -20
  209. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  210. package/dist/types/src/hooks/useChatServices.d.ts +4 -5
  211. package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
  212. package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
  213. package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
  214. package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
  215. package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
  216. package/dist/types/src/hooks/useExecutionGraph.d.ts +7 -0
  217. package/dist/types/src/hooks/useExecutionGraph.d.ts.map +1 -0
  218. package/dist/types/src/hooks/useFlush.d.ts +6 -0
  219. package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
  220. package/dist/types/src/hooks/useItemTypes.d.ts +4 -0
  221. package/dist/types/src/hooks/useItemTypes.d.ts.map +1 -0
  222. package/dist/types/src/hooks/useMatcherExtension.d.ts +3 -0
  223. package/dist/types/src/hooks/useMatcherExtension.d.ts.map +1 -0
  224. package/dist/types/src/hooks/useOnline.d.ts +3 -0
  225. package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
  226. package/dist/types/src/hooks/usePresets.d.ts +7 -0
  227. package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
  228. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  229. package/dist/types/src/hooks/useResolveRef.d.ts +4 -0
  230. package/dist/types/src/hooks/useResolveRef.d.ts.map +1 -0
  231. package/dist/types/src/parser/filter-generator.d.ts.map +1 -1
  232. package/dist/types/src/parser/query-parser.d.ts.map +1 -1
  233. package/dist/types/src/parser/types.d.ts.map +1 -1
  234. package/dist/types/src/processor/index.d.ts +3 -0
  235. package/dist/types/src/processor/index.d.ts.map +1 -0
  236. package/dist/types/src/{hooks → processor}/presets.d.ts +2 -2
  237. package/dist/types/src/processor/presets.d.ts.map +1 -0
  238. package/dist/types/src/processor/processor.d.ts +80 -0
  239. package/dist/types/src/processor/processor.d.ts.map +1 -0
  240. package/dist/types/src/processor/processor.test.d.ts +2 -0
  241. package/dist/types/src/processor/processor.test.d.ts.map +1 -0
  242. package/dist/types/src/stories/Chat.stories.d.ts +22 -203
  243. package/dist/types/src/stories/Chat.stories.d.ts.map +1 -1
  244. package/dist/types/src/stories/components/BlueprintContainer.d.ts +4 -0
  245. package/dist/types/src/stories/components/BlueprintContainer.d.ts.map +1 -0
  246. package/dist/types/src/stories/components/ChatContainer.d.ts +4 -0
  247. package/dist/types/src/stories/components/ChatContainer.d.ts.map +1 -0
  248. package/dist/types/src/stories/components/CommentsContainer.d.ts +4 -0
  249. package/dist/types/src/stories/components/CommentsContainer.d.ts.map +1 -0
  250. package/dist/types/src/stories/components/GraphContainer.d.ts +6 -0
  251. package/dist/types/src/stories/components/GraphContainer.d.ts.map +1 -0
  252. package/dist/types/src/stories/components/LoggingContainer.d.ts +4 -0
  253. package/dist/types/src/stories/components/LoggingContainer.d.ts.map +1 -0
  254. package/dist/types/src/stories/components/MessageContainer.d.ts +4 -0
  255. package/dist/types/src/stories/components/MessageContainer.d.ts.map +1 -0
  256. package/dist/types/src/stories/components/SurfaceContainer.d.ts +8 -0
  257. package/dist/types/src/stories/components/SurfaceContainer.d.ts.map +1 -0
  258. package/dist/types/src/stories/components/TasksContainer.d.ts +4 -0
  259. package/dist/types/src/stories/components/TasksContainer.d.ts.map +1 -0
  260. package/dist/types/src/stories/components/TokenManagerContainer.d.ts +3 -0
  261. package/dist/types/src/stories/components/TokenManagerContainer.d.ts.map +1 -0
  262. package/dist/types/src/stories/components/index.d.ts +11 -0
  263. package/dist/types/src/stories/components/index.d.ts.map +1 -0
  264. package/dist/types/src/stories/components/types.d.ts +7 -0
  265. package/dist/types/src/stories/components/types.d.ts.map +1 -0
  266. package/dist/types/src/stories/testing/data.d.ts +5 -0
  267. package/dist/types/src/stories/testing/data.d.ts.map +1 -0
  268. package/dist/types/src/stories/testing/index.d.ts +3 -0
  269. package/dist/types/src/stories/testing/index.d.ts.map +1 -0
  270. package/dist/types/src/stories/testing/testing.d.ts +44 -0
  271. package/dist/types/src/stories/testing/testing.d.ts.map +1 -0
  272. package/dist/types/src/testing/index.d.ts +2 -1
  273. package/dist/types/src/testing/index.d.ts.map +1 -1
  274. package/dist/types/src/testing/test-data.d.ts +4 -0
  275. package/dist/types/src/testing/test-data.d.ts.map +1 -0
  276. package/dist/types/src/testing/test-functions.d.ts +5 -2
  277. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  278. package/dist/types/src/testing/test-sequence.d.ts +0 -4
  279. package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
  280. package/dist/types/src/translations.d.ts +26 -11
  281. package/dist/types/src/translations.d.ts.map +1 -1
  282. package/dist/types/src/types/Assistant.d.ts +42 -0
  283. package/dist/types/src/types/Assistant.d.ts.map +1 -0
  284. package/dist/types/src/types/AssistantAction.d.ts +107 -0
  285. package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
  286. package/dist/types/src/types/defs.d.ts +2 -0
  287. package/dist/types/src/types/defs.d.ts.map +1 -0
  288. package/dist/types/src/types/index.d.ts +3 -1
  289. package/dist/types/src/types/index.d.ts.map +1 -1
  290. package/dist/types/src/types/service.d.ts +9 -6
  291. package/dist/types/src/types/service.d.ts.map +1 -1
  292. package/dist/types/tsconfig.tsbuildinfo +1 -1
  293. package/package.json +99 -81
  294. package/src/AssistantPlugin.tsx +52 -16
  295. package/src/capabilities/ai-service.ts +28 -0
  296. package/src/capabilities/app-graph-builder.ts +41 -48
  297. package/src/capabilities/blueprint-definition.ts +42 -0
  298. package/src/capabilities/capabilities.ts +31 -0
  299. package/src/capabilities/edge-model-resolver.ts +27 -0
  300. package/src/capabilities/index.ts +9 -0
  301. package/src/capabilities/intent-resolver.ts +45 -23
  302. package/src/capabilities/local-model-resolver.ts +32 -0
  303. package/src/capabilities/react-surface.tsx +10 -57
  304. package/src/capabilities/state.ts +20 -0
  305. package/src/capabilities/toolkit.ts +163 -0
  306. package/src/components/AssistantSettings/AssistantSettings.tsx +83 -76
  307. package/src/components/Chat/Chat.tsx +171 -165
  308. package/src/components/Chat/events.ts +7 -0
  309. package/src/components/ChatCompanion.tsx +111 -0
  310. package/src/components/ChatContainer.tsx +19 -13
  311. package/src/components/ChatDialog.tsx +11 -7
  312. package/src/components/ChatProgress/ChatProgress.tsx +68 -0
  313. package/src/components/ChatProgress/index.ts +5 -0
  314. package/src/components/ChatPrompt/ChatActions.tsx +10 -24
  315. package/src/components/ChatPrompt/ChatOptions.tsx +233 -0
  316. package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
  317. package/src/components/ChatPrompt/ChatReferences.tsx +31 -36
  318. package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
  319. package/src/components/ChatPrompt/index.ts +1 -1
  320. package/src/components/ChatThread/ChatMessage.tsx +214 -148
  321. package/src/components/ChatThread/ChatThread.stories.tsx +244 -104
  322. package/src/components/ChatThread/ChatThread.tsx +44 -22
  323. package/src/components/ChatThread/Link.tsx +23 -0
  324. package/src/components/ChatThread/ToolBlock.tsx +103 -77
  325. package/src/components/ChatThread/reducers.ts +151 -0
  326. package/src/components/PromptSettings.tsx +1 -0
  327. package/src/components/SequenceContainer.tsx +27 -28
  328. package/src/components/SequenceEditor/SequenceEditor.stories.tsx +5 -4
  329. package/src/components/SequenceEditor/SequenceEditor.tsx +1 -1
  330. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +25 -12
  331. package/src/components/TemplateEditor/TemplateEditor.tsx +14 -47
  332. package/src/components/TemplateEditor/TemplateForm.stories.tsx +12 -5
  333. package/src/components/TemplateEditor/TemplateForm.tsx +3 -1
  334. package/src/components/TemplateEditor/handlebars-extension.ts +165 -0
  335. package/src/components/Toolbar/Toolbar.tsx +20 -0
  336. package/src/components/Toolbar/index.ts +5 -0
  337. package/src/components/Toolbar/useChatToolbarActions.ts +125 -0
  338. package/src/components/Toolbox/Toolbox.stories.tsx +10 -16
  339. package/src/components/Toolbox/Toolbox.tsx +21 -51
  340. package/src/components/index.ts +3 -4
  341. package/src/events.ts +2 -2
  342. package/src/execution-graph/execution-graph.ts +211 -0
  343. package/src/execution-graph/index.ts +5 -0
  344. package/src/functions/analysis.ts +20 -0
  345. package/src/functions/index.ts +7 -0
  346. package/src/functions/list.ts +46 -0
  347. package/src/functions/load.ts +43 -0
  348. package/src/hooks/index.ts +10 -4
  349. package/src/hooks/useBlueprintRegistry.ts +80 -0
  350. package/src/hooks/useChatProcessor.ts +20 -97
  351. package/src/hooks/useChatServices.ts +29 -32
  352. package/src/hooks/useContextBinder.ts +18 -0
  353. package/src/hooks/useContextObjects.ts +58 -0
  354. package/src/hooks/useExecutionGraph.ts +20 -0
  355. package/src/hooks/useFlush.ts +35 -0
  356. package/src/hooks/useItemTypes.ts +37 -0
  357. package/src/hooks/useMatcherExtension.ts +45 -0
  358. package/src/hooks/useOnline.ts +10 -0
  359. package/src/hooks/usePresets.ts +44 -0
  360. package/src/hooks/useReferencesProvider.ts +11 -9
  361. package/src/hooks/useResolveRef.ts +33 -0
  362. package/src/meta.ts +1 -1
  363. package/src/parser/filter-generator.ts +8 -13
  364. package/src/parser/query-parser.ts +1 -1
  365. package/src/parser/types.ts +2 -0
  366. package/src/processor/index.ts +6 -0
  367. package/src/{hooks → processor}/presets.ts +14 -6
  368. package/src/processor/processor.test.ts +77 -0
  369. package/src/processor/processor.ts +304 -0
  370. package/src/queue-logger.ts +5 -5
  371. package/src/stories/Chat.stories.tsx +391 -293
  372. package/src/stories/components/BlueprintContainer.tsx +32 -0
  373. package/src/stories/components/ChatContainer.tsx +57 -0
  374. package/src/stories/components/CommentsContainer.tsx +25 -0
  375. package/src/stories/components/GraphContainer.tsx +118 -0
  376. package/src/stories/components/LoggingContainer.tsx +21 -0
  377. package/src/stories/components/MessageContainer.tsx +27 -0
  378. package/src/stories/components/SurfaceContainer.tsx +52 -0
  379. package/src/stories/components/TasksContainer.tsx +49 -0
  380. package/src/stories/components/TokenManagerContainer.tsx +14 -0
  381. package/src/stories/components/index.ts +15 -0
  382. package/src/stories/components/types.ts +11 -0
  383. package/src/stories/testing/data.ts +142 -0
  384. package/src/stories/testing/index.ts +6 -0
  385. package/src/stories/testing/testing.tsx +254 -0
  386. package/src/testing/index.ts +2 -1
  387. package/src/testing/test-data.ts +109 -0
  388. package/src/testing/test-functions.ts +8 -3
  389. package/src/testing/test-sequence.ts +2 -27
  390. package/src/translations.ts +30 -11
  391. package/src/types/Assistant.ts +61 -0
  392. package/src/types/AssistantAction.ts +62 -0
  393. package/src/types/defs.ts +5 -0
  394. package/src/types/index.ts +4 -1
  395. package/src/vite-env.d.ts +30 -0
  396. package/dist/lib/browser/ChatContainer-RP3QEXYX.mjs.map +0 -7
  397. package/dist/lib/browser/ChatDialog-ZVLXFHEY.mjs.map +0 -7
  398. package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
  399. package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-63GG6U6D.mjs +0 -2226
  401. package/dist/lib/browser/chunk-63GG6U6D.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-7W7LHTRH.mjs +0 -171
  403. package/dist/lib/browser/chunk-7W7LHTRH.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
  405. package/dist/lib/browser/chunk-KFXSBNZR.mjs +0 -89
  406. package/dist/lib/browser/chunk-KFXSBNZR.mjs.map +0 -7
  407. package/dist/lib/browser/chunk-LERGF5YG.mjs.map +0 -7
  408. package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs +0 -75
  409. package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs.map +0 -7
  410. package/dist/lib/browser/react-surface-3GYEHQRP.mjs.map +0 -7
  411. package/dist/lib/node-esm/ChatContainer-W3W6FWV3.mjs.map +0 -7
  412. package/dist/lib/node-esm/ChatDialog-QW4JRKVO.mjs.map +0 -7
  413. package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
  414. package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs.map +0 -7
  415. package/dist/lib/node-esm/chunk-BFO3KHYL.mjs +0 -2227
  416. package/dist/lib/node-esm/chunk-BFO3KHYL.mjs.map +0 -7
  417. package/dist/lib/node-esm/chunk-MS3PJARN.mjs.map +0 -7
  418. package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
  419. package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs +0 -90
  420. package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs.map +0 -7
  421. package/dist/lib/node-esm/chunk-Z7PUODRT.mjs +0 -172
  422. package/dist/lib/node-esm/chunk-Z7PUODRT.mjs.map +0 -7
  423. package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs +0 -76
  424. package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs.map +0 -7
  425. package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs.map +0 -7
  426. package/dist/types/src/capability-definitions.d.ts +0 -7
  427. package/dist/types/src/capability-definitions.d.ts.map +0 -1
  428. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
  429. package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
  430. package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
  431. package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
  432. package/dist/types/src/hooks/chat-processor.d.ts +0 -86
  433. package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
  434. package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
  435. package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
  436. package/dist/types/src/hooks/presets.d.ts.map +0 -1
  437. package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
  438. package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
  439. package/dist/types/src/tools/function.d.ts +0 -5
  440. package/dist/types/src/tools/function.d.ts.map +0 -1
  441. package/dist/types/src/tools/index.d.ts +0 -3
  442. package/dist/types/src/tools/index.d.ts.map +0 -1
  443. package/dist/types/src/tools/openapi.d.ts +0 -10
  444. package/dist/types/src/tools/openapi.d.ts.map +0 -1
  445. package/dist/types/src/tools/openapi.test.d.ts +0 -2
  446. package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
  447. package/dist/types/src/types/schema.d.ts +0 -120
  448. package/dist/types/src/types/schema.d.ts.map +0 -1
  449. package/src/capability-definitions.ts +0 -15
  450. package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
  451. package/src/components/ChatThread/reducer.ts +0 -52
  452. package/src/hooks/chat-processor.test.ts +0 -16
  453. package/src/hooks/chat-processor.ts +0 -314
  454. package/src/hooks/useBlueprints.ts +0 -57
  455. package/src/shims.d.ts +0 -8
  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 -108
  461. package/src/typings.d.ts +0 -9
  462. /package/dist/lib/{node-esm/BlueprintContainer-RGTMNLNX.mjs.map → browser/BlueprintContainer-OWUSKPRK.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/Assistant.ts", "../../../src/types/defs.ts", "../../../src/types/AssistantAction.ts", "../../../src/types/service.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Queue } from '@dxos/client/echo';\nimport { Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\n\nimport { LLM_PROVIDERS } from './defs';\n\n/**\n * AI chat.\n */\nexport const Chat = Schema.Struct({\n id: Type.ObjectId,\n name: Schema.optional(Schema.String),\n queue: Type.Ref(Queue),\n // TODO(dmaretskyi): Eventually this and the message queue will be the same.\n traceQueue: Schema.optional(Type.Ref(Queue)),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/assistant/Chat',\n version: '0.2.0',\n }),\n LabelAnnotation.set(['name']),\n);\n\nexport interface Chat extends Schema.Schema.Type<typeof Chat> {}\n\n/**\n * Relation between a Chat and companion objects (e.g., artifacts).\n */\nexport const CompanionTo = Schema.Struct({\n id: Type.ObjectId,\n}).pipe(\n Type.Relation({\n typename: 'dxos.org/relation/assistant/CompanionTo',\n version: '0.1.0',\n source: Chat,\n target: Type.Expando,\n }),\n);\n\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n\n/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type Settings = Schema.Schema.Type<typeof Settings>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Blueprint } from '@dxos/blueprints';\nimport { EchoObjectSchema, SpaceSchema } from '@dxos/client/echo';\nimport { Sequence } from '@dxos/conductor';\nimport { DataType } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nimport { Chat } from './Assistant';\n\nexport class OnSpaceCreated extends Schema.TaggedClass<OnSpaceCreated>()(`${meta.id}/on-space-created`, {\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: DataType.Collection,\n }),\n output: Schema.Void,\n}) {}\n\nexport class CreateChat extends Schema.TaggedClass<CreateChat>()(`${meta.id}/action/create-chat`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Chat,\n }),\n}) {}\n\nexport const BlueprintForm = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n description: Schema.optional(Schema.String),\n});\n\nexport class CreateBlueprint extends Schema.TaggedClass<CreateBlueprint>()(`${meta.id}/action/create-blueprint`, {\n input: BlueprintForm,\n output: Schema.Struct({\n object: Blueprint.Blueprint,\n }),\n}) {}\n\nexport class CreateSequence extends Schema.TaggedClass<CreateSequence>()(`${meta.id}/action/create-sequence`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Sequence,\n }),\n}) {}\n\nexport class SetCurrentChat extends Schema.TaggedClass<SetCurrentChat>()(`${meta.id}/action/set-current-chat`, {\n input: Schema.Struct({\n companionTo: EchoObjectSchema,\n chat: Chat,\n }),\n output: Schema.Void,\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Type.Ref(FunctionType),\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Type.Ref(ComputeGraph),\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({\n typename: 'dxos.org/type/ServiceType',\n version: '0.1.0',\n})({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n}) {}\n\n//\n// Service Registry\n//\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n"],
5
+ "mappings": ";;;;;;;;;AAAA;;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,aAAa;AACtB,SAASC,YAAY;AACrB,SAASC,uBAAuB;;;ACJzB,IAAMC,gBAAgB;EAAC;EAAQ;EAAU;;;;ADWzC,IAAMC,OAAOC,OAAOC,OAAO;EAChCC,IAAIC,KAAKC;EACTC,MAAML,OAAOM,SAASN,OAAOO,MAAM;EACnCC,OAAOL,KAAKM,IAAIC,KAAAA;;EAEhBC,YAAYX,OAAOM,SAASH,KAAKM,IAAIC,KAAAA,CAAAA;AACvC,CAAA,EAAGE,KACDT,KAAKU,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBC,IAAI;EAAC;CAAO,CAAA;AAQvB,IAAMC,cAAclB,OAAOC,OAAO;EACvCC,IAAIC,KAAKC;AACX,CAAA,EAAGQ,KACDT,KAAKgB,SAAS;EACZL,UAAU;EACVC,SAAS;EACTK,QAAQrB;EACRsB,QAAQlB,KAAKmB;AACf,CAAA,CAAA;AAQK,IAAMC,WAAWvB,OAAOwB,QAC7BxB,OAAOC,OAAO;EACZwB,aAAazB,OAAOM,SAASN,OAAO0B,QAAO,GAAIC,aAAAA,CAAAA;EAC/CC,WAAW5B,OAAOM,SAASN,OAAOO,MAAM;EACxCsB,aAAa7B,OAAOM,SAASN,OAAOO,MAAM;EAC1CuB,eAAe9B,OAAOM,SAASN,OAAOO,MAAM;EAC5CwB,eAAe/B,OAAOM,SAASN,OAAOgC,OAAO;AAC/C,CAAA,CAAA;;;AEzDF;;;;;;;;;AAIA,SAASC,UAAAA,eAAc;AAEvB,SAASC,iBAAiB;AAC1B,SAASC,kBAAkBC,mBAAmB;AAC9C,SAASC,gBAAgB;AACzB,SAASC,gBAAgB;AAMlB,IAAMC,iBAAN,cAA6BC,QAAOC,YAAW,EAAmB,GAAGC,KAAKC,EAAE,qBAAqB;EACtGC,OAAOJ,QAAOK,OAAO;IACnBC,OAAOC;IACPC,gBAAgBC,SAASC;EAC3B,CAAA;EACAC,QAAQX,QAAOY;AACjB,CAAA,EAAA;AAAI;AAEG,IAAMC,aAAN,cAAyBb,QAAOC,YAAW,EAAe,GAAGC,KAAKC,EAAE,uBAAuB;EAChGC,OAAOJ,QAAOK,OAAO;IACnBC,OAAOC;IACPO,MAAMd,QAAOe,SAASf,QAAOgB,MAAM;EACrC,CAAA;EACAL,QAAQX,QAAOK,OAAO;IACpBY,QAAQC;EACV,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,gBAAgBnB,QAAOK,OAAO;EACzCe,KAAKpB,QAAOgB;EACZF,MAAMd,QAAOgB;EACbK,aAAarB,QAAOe,SAASf,QAAOgB,MAAM;AAC5C,CAAA;AAEO,IAAMM,kBAAN,cAA8BtB,QAAOC,YAAW,EAAoB,GAAGC,KAAKC,EAAE,4BAA4B;EAC/GC,OAAOe;EACPR,QAAQX,QAAOK,OAAO;IACpBY,QAAQM,UAAUA;EACpB,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,iBAAN,cAA6BxB,QAAOC,YAAW,EAAmB,GAAGC,KAAKC,EAAE,2BAA2B;EAC5GC,OAAOJ,QAAOK,OAAO;IACnBS,MAAMd,QAAOe,SAASf,QAAOgB,MAAM;EACrC,CAAA;EACAL,QAAQX,QAAOK,OAAO;IACpBY,QAAQQ;EACV,CAAA;AACF,CAAA,EAAA;AAAI;AAEG,IAAMC,iBAAN,cAA6B1B,QAAOC,YAAW,EAAmB,GAAGC,KAAKC,EAAE,4BAA4B;EAC7GC,OAAOJ,QAAOK,OAAO;IACnBsB,aAAaC;IACbC,MAAMX;EACR,CAAA;EACAP,QAAQX,QAAOY;AACjB,CAAA,EAAA;AAAI;;;ACzDJ,SAASkB,UAAAA,eAAc;AAEvB,SAASC,oBAAoB;AAC7B,SAASC,QAAAA,aAAY;AACrB,SAASC,mBAAmB;AAC5B,SAASC,oBAAoB;AAE7B,IAAMC,sBAAsBC,QAAOC,OAAO;EACxCC,MAAMF,QAAOG,QAAQ,SAAA;EACrBC,KAAKJ,QAAOK;EACZC,WAAWN,QAAOO,MAChBP,QAAOC,OAAO;IACZC,MAAMF,QAAOG,QAAQ,sBAAA;EACvB,CAAA,GACAH,QAAOC,OAAO;IACZC,MAAMF,QAAOG,QAAQ,OAAA;IACrBK,MAAMR,QAAOK;EACf,CAAA,CAAA;AAEJ,CAAA;AAEA,IAAMI,wBAAwBT,QAAOC,OAAO;EAC1CC,MAAMF,QAAOG,QAAQ,OAAA;EACrBO,UAAUV,QAAOK;EACjBM,cAAcX,QAAOK;EACrBO,UAAUZ,QAAOK;EACjBQ,WAAWb,QAAOK;AACpB,CAAA;AAEO,IAAMS,mBAAmBd,QAAOO,MAAMR,qBAAqBU,qBAAAA;AAGlE,IAAMM,2BAA2Bf,QAAOC,OAAO;EAC7Ce,MAAMhB,QAAOG,QAAQ,UAAA;EACrBc,IAAIC,MAAKC,IAAIC,YAAAA;AACf,CAAA;AAEA,IAAMC,2BAA2BrB,QAAOC,OAAO;EAC7Ce,MAAMhB,QAAOG,QAAQ,UAAA;EACrBmB,UAAUJ,MAAKC,IAAII,YAAAA;AACrB,CAAA;AAEA,IAAMC,sBAAsBxB,QAAOC,OAAO;EACxCe,MAAMhB,QAAOG,QAAQ,KAAA;;;;EAKrBsB,WAAWzB,QAAO0B,SAAS1B,QAAOK,MAAM;;;;EAKxCsB,QAAQ3B,QAAO0B,SAAS1B,QAAO4B,GAAG;;;;EAKlCC,eAAe7B,QAAO0B,SAASZ,gBAAAA;AACjC,CAAA;AAEA,IAAMgB,mBAAmB9B,QAAOO,MAAMQ,0BAA0BM,0BAA0BG,mBAAAA;AAGnF,IAAMO,cAAN,cAA0BC,YAAY;EAC3CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDC,WAAWnC,QAAOK;EAClBG,MAAMR,QAAO0B,SAAS1B,QAAOK,MAAM;EACnC+B,aAAapC,QAAO0B,SAAS1B,QAAOK,MAAM;EAC1CgC,UAAUrC,QAAO0B,SAAS1B,QAAOK,MAAM;EACvCiC,SAAStC,QAAO0B,SAAS1B,QAAOuC,OAAO;;;;EAKvCC,YAAYxC,QAAO0B,SAAS1B,QAAOyC,MAAMX,gBAAAA,CAAAA;AAC3C,CAAA,EAAA;AAAI;AAeG,IAAMY,gBAAwC;EACnDC,SAAS;EACTC,QAAQ;EACRC,aAAa;EACbC,WAAW;EACXC,eAAe;EACfC,UAAU;EACVC,QAAQ;EACRC,WAAW;EACXC,SAAS;AACX;",
6
+ "names": ["Schema", "Queue", "Type", "LabelAnnotation", "LLM_PROVIDERS", "Chat", "Schema", "Struct", "id", "Type", "ObjectId", "name", "optional", "String", "queue", "Ref", "Queue", "traceQueue", "pipe", "Obj", "typename", "version", "LabelAnnotation", "set", "CompanionTo", "Relation", "source", "target", "Expando", "Settings", "mutable", "llmProvider", "Literal", "LLM_PROVIDERS", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts", "Boolean", "Schema", "Blueprint", "EchoObjectSchema", "SpaceSchema", "Sequence", "DataType", "OnSpaceCreated", "Schema", "TaggedClass", "meta", "id", "input", "Struct", "space", "SpaceSchema", "rootCollection", "DataType", "Collection", "output", "Void", "CreateChat", "name", "optional", "String", "object", "Chat", "BlueprintForm", "key", "description", "CreateBlueprint", "Blueprint", "CreateSequence", "Sequence", "SetCurrentChat", "companionTo", "EchoObjectSchema", "chat", "Schema", "ComputeGraph", "Type", "TypedObject", "FunctionType", "ApiAuthorizationKey", "Schema", "Struct", "type", "Literal", "key", "String", "placement", "Union", "name", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "Type", "Ref", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "optional", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "TypedObject", "typename", "version", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather"]
7
+ }
@@ -0,0 +1,159 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/capabilities/blueprint-definition.ts
4
+ import { Capabilities, contributes } from "@dxos/app-framework";
5
+ import { templates } from "@dxos/assistant";
6
+ import { Blueprint } from "@dxos/blueprints";
7
+
8
+ // src/functions/analysis.ts
9
+ import { Effect, Schema } from "effect";
10
+ import { defineFunction } from "@dxos/functions";
11
+ import { log } from "@dxos/log";
12
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/functions/analysis.ts";
13
+ var analysis_default = defineFunction({
14
+ name: "dxos.org/function/assistant-analysis",
15
+ description: "Enter analysis analysis mode.",
16
+ inputSchema: Schema.Struct({
17
+ enable: Schema.Boolean.annotations({
18
+ description: "Enable or disable analysis mode."
19
+ })
20
+ }),
21
+ outputSchema: Schema.Void,
22
+ handler: Effect.fn(function* ({ context, data: { enable } }) {
23
+ log.info("analysis mode", {
24
+ space: context.space?.id,
25
+ enable
26
+ }, {
27
+ F: __dxlog_file,
28
+ L: 18,
29
+ S: this,
30
+ C: (f, a) => f(...a)
31
+ });
32
+ })
33
+ });
34
+
35
+ // src/functions/list.ts
36
+ import { Effect as Effect2, Schema as Schema2 } from "effect";
37
+ import { Filter, Obj, Query } from "@dxos/echo";
38
+ import { DatabaseService, defineFunction as defineFunction2 } from "@dxos/functions";
39
+ import { trim } from "@dxos/util";
40
+ var list_default = defineFunction2({
41
+ name: "dxos.org/function/assistant/list",
42
+ description: (
43
+ // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
44
+ trim`
45
+ Lists the objects of the given type.
46
+ Check the list-schemas tool for available types before calling this function.
47
+ `
48
+ ),
49
+ inputSchema: Schema2.Struct({
50
+ typename: Schema2.String.annotations({
51
+ description: "The typename of the objects to list."
52
+ })
53
+ }),
54
+ outputSchema: Schema2.Struct({
55
+ results: Schema2.Array(Schema2.Struct({
56
+ dxn: Schema2.String.annotations({
57
+ description: "The DXN of the object."
58
+ }),
59
+ label: Schema2.optional(Schema2.String.annotations({
60
+ description: "The label of the object."
61
+ }))
62
+ }))
63
+ }),
64
+ handler: Effect2.fn(function* ({ data: { typename } }) {
65
+ const [schema] = yield* DatabaseService.runSchemaQuery({
66
+ typename
67
+ });
68
+ const filter = schema ? Filter.type(schema) : Filter.typename(typename);
69
+ const { objects } = yield* DatabaseService.runQuery(Query.select(filter));
70
+ const results = objects.map((object) => ({
71
+ dxn: Obj.getDXN(object).toString(),
72
+ label: Obj.getLabel(object)
73
+ }));
74
+ return {
75
+ results
76
+ };
77
+ })
78
+ });
79
+
80
+ // src/functions/load.ts
81
+ import { Effect as Effect3, Option, Schema as Schema3, pipe } from "effect";
82
+ import { ArtifactId } from "@dxos/assistant";
83
+ import { Obj as Obj2 } from "@dxos/echo";
84
+ import { DatabaseService as DatabaseService2, defineFunction as defineFunction3 } from "@dxos/functions";
85
+ import { log as log2 } from "@dxos/log";
86
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/functions/load.ts";
87
+ var load_default = defineFunction3({
88
+ name: "dxos.org/function/assistant/load",
89
+ description: "Loads the object.",
90
+ inputSchema: Schema3.Struct({
91
+ id: ArtifactId.annotations({
92
+ description: "The ID of the object."
93
+ }),
94
+ typename: Schema3.String.annotations({
95
+ description: "The typename of the object."
96
+ })
97
+ }),
98
+ outputSchema: Schema3.Struct({
99
+ // TODO(wittjosiah): Type.Obj.Any | Type.Relation.Any
100
+ object: Schema3.Any
101
+ }),
102
+ handler: Effect3.fn(function* ({ data: { id, typename } }) {
103
+ const object = yield* DatabaseService2.resolve(ArtifactId.toDXN(id));
104
+ return yield* pipe(Option.fromNullable(object), Option.flatMap((object2) => Obj2.getTypename(object2) === typename ? Option.some(object2) : Option.none()), Option.match({
105
+ onNone: () => Effect3.fail("Object not found."),
106
+ onSome: (object2) => {
107
+ log2.info("object", {
108
+ object: object2
109
+ }, {
110
+ F: __dxlog_file2,
111
+ L: 37,
112
+ S: this,
113
+ C: (f, a) => f(...a)
114
+ });
115
+ return Effect3.succeed({
116
+ object: object2
117
+ });
118
+ }
119
+ }));
120
+ })
121
+ });
122
+
123
+ // src/capabilities/blueprint-definition.ts
124
+ var functions = [
125
+ analysis_default,
126
+ list_default,
127
+ load_default
128
+ ];
129
+ var tools = [
130
+ "add-to-context",
131
+ // TODO(wittjosiah): Factor out to an ECHO blueprint.
132
+ "get-schemas",
133
+ "add-schema",
134
+ "create-record",
135
+ // TODO(wittjosiah): Factor out to a generic app-framework blueprint.
136
+ "open-item"
137
+ ];
138
+ var BLUEPRINT_KEY = "dxos.org/blueprint/assistant";
139
+ var createBlueprint = () => Blueprint.make({
140
+ key: BLUEPRINT_KEY,
141
+ name: "Assistant",
142
+ tools: Blueprint.toolDefinitions({
143
+ functions,
144
+ tools
145
+ }),
146
+ instructions: templates.system
147
+ });
148
+ var blueprint = createBlueprint();
149
+ var blueprint_definition_default = () => [
150
+ contributes(Capabilities.Functions, functions),
151
+ contributes(Capabilities.BlueprintDefinition, blueprint)
152
+ ];
153
+
154
+ export {
155
+ BLUEPRINT_KEY,
156
+ createBlueprint,
157
+ blueprint_definition_default
158
+ };
159
+ //# sourceMappingURL=chunk-CAQKGW3B.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition.ts", "../../../src/functions/analysis.ts", "../../../src/functions/list.ts", "../../../src/functions/load.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type Capability, contributes } from '@dxos/app-framework';\nimport { templates } from '@dxos/assistant';\nimport { Blueprint } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\n\nimport { analysis, list, load } from '../functions';\n\nconst functions: FunctionDefinition[] = [analysis, list, load];\nconst tools = [\n 'add-to-context',\n // TODO(wittjosiah): Factor out to an ECHO blueprint.\n 'get-schemas',\n 'add-schema',\n 'create-record',\n // TODO(wittjosiah): Factor out to a generic app-framework blueprint.\n 'open-item',\n // TODO(burdon): Anthropic only.\n // https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/text-editor-tool#example-str-replace-command\n // AI_TOOL_NOT_FOUND: str_replace_based_edit_tool\n // 'str_replace_based_edit_tool',\n];\n\nexport const BLUEPRINT_KEY = 'dxos.org/blueprint/assistant';\n\nexport const createBlueprint = (): Blueprint.Blueprint =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Assistant',\n tools: Blueprint.toolDefinitions({ functions, tools }),\n instructions: templates.system,\n });\n\nconst blueprint = createBlueprint();\n\nexport default (): Capability<any>[] => [\n contributes(Capabilities.Functions, functions),\n contributes(Capabilities.BlueprintDefinition, blueprint),\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { defineFunction } from '@dxos/functions';\nimport { log } from '@dxos/log';\n\nexport default defineFunction({\n name: 'dxos.org/function/assistant-analysis',\n description: 'Enter analysis analysis mode.',\n inputSchema: Schema.Struct({\n enable: Schema.Boolean.annotations({ description: 'Enable or disable analysis mode.' }),\n }),\n outputSchema: Schema.Void,\n handler: Effect.fn(function* ({ context, data: { enable } }) {\n log.info('analysis mode', { space: context.space?.id, enable });\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\n// TODO(burdon): Factor out to space plugin.\nexport default defineFunction({\n name: 'dxos.org/function/assistant/list',\n description:\n // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.\n trim`\n Lists the objects of the given type.\n Check the list-schemas tool for available types before calling this function.\n `,\n inputSchema: Schema.Struct({\n typename: Schema.String.annotations({\n description: 'The typename of the objects to list.',\n }),\n }),\n outputSchema: Schema.Struct({\n results: Schema.Array(\n Schema.Struct({\n dxn: Schema.String.annotations({ description: 'The DXN of the object.' }),\n label: Schema.optional(Schema.String.annotations({ description: 'The label of the object.' })),\n }),\n ),\n }),\n handler: Effect.fn(function* ({ data: { typename } }) {\n // TODO(wittjosiah): Typename query is not working for dynamic schemas.\n const [schema] = yield* DatabaseService.runSchemaQuery({ typename });\n const filter = schema ? Filter.type(schema) : Filter.typename(typename);\n\n const { objects } = yield* DatabaseService.runQuery(Query.select(filter));\n const results = objects.map((object) => ({\n dxn: Obj.getDXN(object).toString(),\n label: Obj.getLabel(object),\n }));\n\n return { results };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Option, Schema, pipe } from 'effect';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\nimport { log } from '@dxos/log';\n\n// TODO(burdon): Common error handling.\n// TODO(burdon): Factor out to space plugin.\nexport default defineFunction({\n name: 'dxos.org/function/assistant/load',\n description: 'Loads the object.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the object.',\n }),\n typename: Schema.String.annotations({\n description: 'The typename of the object.',\n }),\n }),\n outputSchema: Schema.Struct({\n // TODO(wittjosiah): Type.Obj.Any | Type.Relation.Any\n object: Schema.Any,\n }),\n handler: Effect.fn(function* ({ data: { id, typename } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id));\n return yield* pipe(\n Option.fromNullable(object),\n Option.flatMap((object) => (Obj.getTypename(object) === typename ? Option.some(object) : Option.none())),\n Option.match({\n onNone: () => Effect.fail('Object not found.'),\n onSome: (object) => {\n log.info('object', { object });\n return Effect.succeed({ object });\n },\n }),\n );\n }),\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "templates", "Blueprint", "Effect", "Schema", "defineFunction", "log", "name", "description", "inputSchema", "Struct", "enable", "Boolean", "annotations", "outputSchema", "Void", "handler", "fn", "context", "data", "info", "space", "id", "Effect", "Schema", "Filter", "Obj", "Query", "DatabaseService", "defineFunction", "trim", "defineFunction", "name", "description", "trim", "inputSchema", "Schema", "Struct", "typename", "String", "annotations", "outputSchema", "results", "Array", "dxn", "label", "optional", "handler", "Effect", "fn", "data", "schema", "DatabaseService", "runSchemaQuery", "filter", "Filter", "type", "objects", "runQuery", "Query", "select", "map", "object", "Obj", "getDXN", "toString", "getLabel", "Effect", "Option", "Schema", "pipe", "ArtifactId", "Obj", "DatabaseService", "defineFunction", "log", "name", "description", "inputSchema", "Struct", "id", "annotations", "typename", "String", "outputSchema", "object", "Any", "handler", "fn", "data", "resolve", "toDXN", "fromNullable", "flatMap", "getTypename", "some", "none", "match", "onNone", "fail", "onSome", "info", "succeed", "functions", "analysis", "list", "load", "tools", "BLUEPRINT_KEY", "createBlueprint", "Blueprint", "make", "key", "name", "toolDefinitions", "instructions", "templates", "system", "blueprint", "contributes", "Capabilities", "Functions", "BlueprintDefinition"]
7
+ }
@@ -1,17 +1,20 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ useExecutionGraph
4
+ } from "./chunk-2X6VEO32.mjs";
2
5
  import {
3
6
  LLM_PROVIDERS
4
- } from "./chunk-Z7PUODRT.mjs";
7
+ } from "./chunk-7YOGZI66.mjs";
5
8
  import {
6
9
  meta
7
- } from "./chunk-QN2H2EHV.mjs";
10
+ } from "./chunk-VFY2JG62.mjs";
8
11
 
9
12
  // src/components/AssistantSettings/AssistantSettings.tsx
10
13
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
11
14
  import React from "react";
12
15
  import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from "@dxos/ai";
13
16
  import { Input, Select, useTranslation } from "@dxos/react-ui";
14
- import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
17
+ import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
15
18
  var DEFAULT_VALUE = "__default";
16
19
  var LLM_PROVIDER_LABELS = {
17
20
  edge: "DXOS",
@@ -22,13 +25,17 @@ var AssistantSettings = ({ settings }) => {
22
25
  var _effect = _useSignals();
23
26
  try {
24
27
  const { t } = useTranslation(meta.id);
25
- return /* @__PURE__ */ React.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
26
- label: t("settings custom prompts label")
28
+ return /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
29
+ title: t("settings title", {
30
+ ns: meta.id
31
+ })
32
+ }, /* @__PURE__ */ React.createElement(ControlGroup, null, /* @__PURE__ */ React.createElement(ControlItemInput, {
33
+ title: t("settings custom prompts label")
27
34
  }, /* @__PURE__ */ React.createElement(Input.Switch, {
28
35
  checked: !!settings.customPrompts,
29
36
  onCheckedChange: (checked) => settings.customPrompts = checked
30
- })), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
31
- label: t("settings llm provider label")
37
+ })), /* @__PURE__ */ React.createElement(ControlItemInput, {
38
+ title: t("settings llm provider label")
32
39
  }, /* @__PURE__ */ React.createElement(Select.Root, {
33
40
  value: settings.llmProvider ?? "edge",
34
41
  onValueChange: (value) => {
@@ -41,8 +48,8 @@ var AssistantSettings = ({ settings }) => {
41
48
  }, t("settings default label")), LLM_PROVIDERS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
42
49
  key: model,
43
50
  value: model
44
- }, LLM_PROVIDER_LABELS[model]))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
45
- label: t("settings edge llm model label")
51
+ }, LLM_PROVIDER_LABELS[model]))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
52
+ title: t("settings edge llm model label")
46
53
  }, /* @__PURE__ */ React.createElement(Select.Root, {
47
54
  value: settings.edgeModel ?? DEFAULT_VALUE,
48
55
  onValueChange: (value) => {
@@ -55,8 +62,8 @@ var AssistantSettings = ({ settings }) => {
55
62
  }, t("settings default label")), DEFAULT_EDGE_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
56
63
  key: model,
57
64
  value: model
58
- }, model))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
59
- label: t("settings ollama llm model label")
65
+ }, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
66
+ title: t("settings ollama llm model label")
60
67
  }, /* @__PURE__ */ React.createElement(Select.Root, {
61
68
  value: settings.ollamaModel ?? DEFAULT_VALUE,
62
69
  onValueChange: (value) => {
@@ -69,23 +76,87 @@ var AssistantSettings = ({ settings }) => {
69
76
  }, t("settings default label")), DEFAULT_OLLAMA_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
70
77
  key: model,
71
78
  value: model
72
- }, model))))))));
79
+ }, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))))));
73
80
  } finally {
74
81
  _effect.f();
75
82
  }
76
83
  };
77
84
 
78
- // src/components/PromptSettings.tsx
85
+ // src/components/ChatProgress/ChatProgress.tsx
79
86
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
80
- import React2 from "react";
87
+ import React2, { useCallback, useEffect, useMemo, useRef, useState } from "react";
88
+ import { addEventListener } from "@dxos/async";
89
+ import { Flex, ProgressBar, TextCrawl } from "@dxos/react-ui-components";
90
+ var ChatProgress = ({ chat }) => {
91
+ var _effect = _useSignals2();
92
+ try {
93
+ const { commits } = useExecutionGraph(chat.traceQueue, true);
94
+ const nodes = useMemo(() => commits.map((commit) => ({
95
+ id: commit.id,
96
+ message: commit.message
97
+ })), [
98
+ commits
99
+ ]);
100
+ const lines = useMemo(() => commits.map((commit) => commit.message), [
101
+ commits
102
+ ]);
103
+ const [index, setIndex] = useState(void 0);
104
+ const handleSelect = useCallback(({ index: index2 }) => {
105
+ setIndex((current) => {
106
+ return current === index2 ? void 0 : index2;
107
+ });
108
+ }, []);
109
+ const ref = useRef(null);
110
+ useEffect(() => {
111
+ if (!ref.current) {
112
+ return;
113
+ }
114
+ return addEventListener(ref.current, "keydown", (event) => {
115
+ switch (event.key) {
116
+ case "ArrowLeft": {
117
+ setIndex((current) => current === void 0 || current <= 0 ? 0 : current - 1);
118
+ break;
119
+ }
120
+ case "ArrowRight": {
121
+ setIndex((current) => current === void 0 || current >= nodes.length ? nodes.length - 1 : current + 1);
122
+ break;
123
+ }
124
+ }
125
+ });
126
+ }, [
127
+ nodes.length
128
+ ]);
129
+ return /* @__PURE__ */ React2.createElement(Flex, {
130
+ column: true,
131
+ tabIndex: 0,
132
+ ref,
133
+ classNames: "outline-none"
134
+ }, /* @__PURE__ */ React2.createElement(ProgressBar, {
135
+ nodes,
136
+ index,
137
+ onSelect: handleSelect
138
+ }), /* @__PURE__ */ React2.createElement(TextCrawl, {
139
+ lines,
140
+ index,
141
+ autoAdvance: true,
142
+ classNames: "pis-4 text-sm text-subdued"
143
+ }));
144
+ } finally {
145
+ _effect.f();
146
+ }
147
+ };
148
+
149
+ // src/components/PromptSettings.tsx
150
+ import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
151
+ import React3 from "react";
81
152
  import { Toolbar, useTranslation as useTranslation2 } from "@dxos/react-ui";
82
153
  var PromptSettings = ({ template }) => {
83
- var _effect = _useSignals2();
154
+ var _effect = _useSignals3();
84
155
  try {
85
156
  const { t } = useTranslation2(meta.id);
86
- return /* @__PURE__ */ React2.createElement("div", {
157
+ return /* @__PURE__ */ React3.createElement("div", {
87
158
  className: "flex flex-col gap-4"
88
- }, /* @__PURE__ */ React2.createElement("h2", null, t("prompt rules label")), /* @__PURE__ */ React2.createElement(Toolbar.Root, null));
159
+ }, /* @__PURE__ */ React3.createElement("h2", null, t("prompt rules label")), /* @__PURE__ */ React3.createElement(Toolbar.Root, null));
89
160
  } finally {
90
161
  _effect.f();
91
162
  }
@@ -93,17 +164,20 @@ var PromptSettings = ({ template }) => {
93
164
 
94
165
  // src/components/index.ts
95
166
  import { lazy } from "react";
96
- var BlueprintContainer = lazy(() => import("./BlueprintContainer-RGTMNLNX.mjs"));
97
- var ChatContainer = lazy(() => import("./ChatContainer-W3W6FWV3.mjs"));
98
- var ChatDialog = lazy(() => import("./ChatDialog-QW4JRKVO.mjs"));
99
- var SequenceContainer = lazy(() => import("./SequenceContainer-RQQH5XOC.mjs"));
167
+ var BlueprintContainer = lazy(() => import("./BlueprintContainer-UFVWCRN6.mjs"));
168
+ var ChatCompanion = lazy(() => import("./ChatCompanion-ZNRZEKH5.mjs"));
169
+ var ChatContainer = lazy(() => import("./ChatContainer-TUCITJJW.mjs"));
170
+ var ChatDialog = lazy(() => import("./ChatDialog-JLM7RDZQ.mjs"));
171
+ var SequenceContainer = lazy(() => import("./SequenceContainer-UXOVZPZO.mjs"));
100
172
 
101
173
  export {
102
174
  AssistantSettings,
175
+ ChatProgress,
103
176
  PromptSettings,
104
177
  BlueprintContainer,
178
+ ChatCompanion,
105
179
  ChatContainer,
106
180
  ChatDialog,
107
181
  SequenceContainer
108
182
  };
109
- //# sourceMappingURL=chunk-MS3PJARN.mjs.map
183
+ //# sourceMappingURL=chunk-FNZJJL7G.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/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 } from '@dxos/react-ui-components';\n\nimport { useExecutionGraph } from '../../hooks';\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, 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 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", "ChatProgress", "chat", "commits", "useExecutionGraph", "traceQueue", "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", "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
+ }
@@ -0,0 +1,168 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ AssistantAction_exports,
4
+ Assistant_exports
5
+ } from "./chunk-7YOGZI66.mjs";
6
+ import {
7
+ meta
8
+ } from "./chunk-VFY2JG62.mjs";
9
+
10
+ // src/components/Toolbar/Toolbar.tsx
11
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
+ import React from "react";
13
+ import { fullyQualifiedId } from "@dxos/react-client/echo";
14
+ import { MenuProvider, ToolbarMenu } from "@dxos/react-ui-menu";
15
+
16
+ // src/components/Toolbar/useChatToolbarActions.ts
17
+ import { Rx } from "@effect-rx/rx-react";
18
+ import { Effect } from "effect";
19
+ import { useMemo } from "react";
20
+ import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
21
+ import { Filter, Obj, Query } from "@dxos/echo";
22
+ import { invariant } from "@dxos/invariant";
23
+ import { SpaceAction } from "@dxos/plugin-space/types";
24
+ import { getSpace, useQuery } from "@dxos/react-client/echo";
25
+ import { MenuBuilder, useMenuActions } from "@dxos/react-ui-menu";
26
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/components/Toolbar/useChatToolbarActions.ts";
27
+ var useChatToolbarActions = ({ chat, companionTo, onReset }) => {
28
+ const { dispatch } = useIntentDispatcher();
29
+ const space = getSpace(chat);
30
+ const query = companionTo ? Query.select(Filter.ids(companionTo.id)).targetOf(Assistant_exports.CompanionTo).source() : Query.select(Filter.nothing());
31
+ const chats = useQuery(space, query);
32
+ return useMenuActions(useMemo(() => Rx.make(() => {
33
+ const builder = MenuBuilder.make().root({
34
+ label: [
35
+ "chat toolbar title",
36
+ {
37
+ ns: meta.id
38
+ }
39
+ ]
40
+ }).action("new", {
41
+ label: [
42
+ "button new thread",
43
+ {
44
+ ns: meta.id
45
+ }
46
+ ],
47
+ icon: "ph--plus--regular",
48
+ type: "new"
49
+ }, () => Effect.gen(function* () {
50
+ invariant(space, void 0, {
51
+ F: __dxlog_file,
52
+ L: 51,
53
+ S: this,
54
+ A: [
55
+ "space",
56
+ ""
57
+ ]
58
+ });
59
+ const { object } = yield* dispatch(createIntent(AssistantAction_exports.CreateChat, {
60
+ space
61
+ }));
62
+ yield* dispatch(createIntent(SpaceAction.AddObject, {
63
+ object,
64
+ target: space,
65
+ hidden: true
66
+ }));
67
+ if (companionTo) {
68
+ yield* dispatch(createIntent(SpaceAction.AddRelation, {
69
+ space,
70
+ schema: Assistant_exports.CompanionTo,
71
+ source: object,
72
+ target: companionTo
73
+ }));
74
+ yield* dispatch(createIntent(AssistantAction_exports.SetCurrentChat, {
75
+ companionTo,
76
+ chat: object
77
+ }));
78
+ }
79
+ }).pipe(Effect.runPromise)).action("branch", {
80
+ label: [
81
+ "button branch thread",
82
+ {
83
+ ns: meta.id
84
+ }
85
+ ],
86
+ icon: "ph--git-branch--regular",
87
+ type: "branch",
88
+ disabled: true
89
+ }, () => {
90
+ });
91
+ if (chats.length > 0) {
92
+ builder.group("chats", {
93
+ label: [
94
+ "chat history label",
95
+ {
96
+ ns: meta.id
97
+ }
98
+ ],
99
+ icon: "ph--clock-counter-clockwise--regular",
100
+ selectCardinality: "single",
101
+ variant: "dropdownMenu"
102
+ }, (builder2) => {
103
+ chats.toSorted((a, b) => a.id.localeCompare(b.id)).forEach((chat2) => {
104
+ builder2.action(chat2.id, {
105
+ label: Obj.getLabel(chat2) ?? [
106
+ "object name placeholder",
107
+ {
108
+ ns: Assistant_exports.Chat.typename
109
+ }
110
+ ]
111
+ }, () => Effect.gen(function* () {
112
+ invariant(companionTo, void 0, {
113
+ F: __dxlog_file,
114
+ L: 99,
115
+ S: this,
116
+ A: [
117
+ "companionTo",
118
+ ""
119
+ ]
120
+ });
121
+ yield* dispatch(createIntent(AssistantAction_exports.SetCurrentChat, {
122
+ companionTo,
123
+ chat: chat2
124
+ }));
125
+ }).pipe(Effect.runPromise));
126
+ });
127
+ });
128
+ }
129
+ if (onReset) {
130
+ builder.action("reset", {
131
+ label: [
132
+ "button reset",
133
+ {
134
+ ns: meta.id
135
+ }
136
+ ],
137
+ icon: "ph--trash--regular",
138
+ type: "reset"
139
+ }, onReset);
140
+ }
141
+ return builder.build();
142
+ }), [
143
+ chats
144
+ ]));
145
+ };
146
+
147
+ // src/components/Toolbar/Toolbar.tsx
148
+ var Toolbar = ({ chat, companionTo, onReset }) => {
149
+ var _effect = _useSignals();
150
+ try {
151
+ const menu = useChatToolbarActions({
152
+ chat,
153
+ companionTo,
154
+ onReset
155
+ });
156
+ return /* @__PURE__ */ React.createElement(MenuProvider, {
157
+ ...menu,
158
+ attendableId: companionTo ? fullyQualifiedId(companionTo) : fullyQualifiedId(chat)
159
+ }, /* @__PURE__ */ React.createElement(ToolbarMenu, null));
160
+ } finally {
161
+ _effect.f();
162
+ }
163
+ };
164
+
165
+ export {
166
+ Toolbar
167
+ };
168
+ //# sourceMappingURL=chunk-RLBN4RNR.mjs.map