@dxos/plugin-assistant 0.8.4-main.3eb6e50203 → 0.8.4-main.4a85c3132b

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 (344) hide show
  1. package/dist/lib/browser/AssistantSettings-2LFAG5OQ.mjs +93 -0
  2. package/dist/lib/browser/AssistantSettings-2LFAG5OQ.mjs.map +7 -0
  3. package/dist/lib/browser/BlueprintArticle-CCS25MNW.mjs +36 -0
  4. package/dist/lib/browser/BlueprintArticle-CCS25MNW.mjs.map +7 -0
  5. package/dist/lib/browser/{ChatCompanion-CAKFZAWN.mjs → ChatCompanion-UGD4V34A.mjs} +11 -9
  6. package/dist/lib/browser/ChatCompanion-UGD4V34A.mjs.map +7 -0
  7. package/dist/lib/browser/ChatContainer-ZGRSZ5EU.mjs +12 -0
  8. package/dist/lib/browser/{ChatDialog-ASVBLOOS.mjs → ChatDialog-AET7GVIB.mjs} +7 -7
  9. package/dist/lib/browser/ChatDialog-AET7GVIB.mjs.map +7 -0
  10. package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs +91 -0
  11. package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs.map +7 -0
  12. package/dist/lib/browser/ProjectSettings-R6RRARLO.mjs +194 -0
  13. package/dist/lib/browser/ProjectSettings-R6RRARLO.mjs.map +7 -0
  14. package/dist/lib/browser/PromptArticle-USQO4WX6.mjs +71 -0
  15. package/dist/lib/browser/PromptArticle-USQO4WX6.mjs.map +7 -0
  16. package/dist/lib/browser/TriggerStatus-65X3EUSN.mjs +122 -0
  17. package/dist/lib/browser/TriggerStatus-65X3EUSN.mjs.map +7 -0
  18. package/dist/lib/browser/{app-graph-builder-MUZGUQSC.mjs → app-graph-builder-SFYYUKTT.mjs} +3 -3
  19. package/dist/lib/{node-esm/app-graph-builder-4QN5M6PD.mjs.map → browser/app-graph-builder-SFYYUKTT.mjs.map} +2 -2
  20. package/dist/lib/browser/blueprint-definition-5LQNBZON.mjs +35 -0
  21. package/dist/lib/browser/blueprint-definition-5LQNBZON.mjs.map +7 -0
  22. package/dist/lib/browser/blueprints/index.mjs +3 -7
  23. package/dist/lib/browser/{chunk-6BVCG5SJ.mjs → chunk-7DXYAXLZ.mjs} +8 -8
  24. package/dist/lib/browser/chunk-7DXYAXLZ.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-IJYAKPEU.mjs → chunk-JYY5AD65.mjs} +27 -27
  26. package/dist/lib/browser/chunk-JYY5AD65.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-LEXIQDXZ.mjs +26 -0
  28. package/dist/lib/browser/chunk-LEXIQDXZ.mjs.map +7 -0
  29. package/dist/lib/browser/{ChatContainer-QB37VONJ.mjs → chunk-RU4G5NY4.mjs} +17 -21
  30. package/dist/lib/browser/chunk-RU4G5NY4.mjs.map +7 -0
  31. package/dist/lib/browser/{chunk-JA7PUZC7.mjs → chunk-UUA6GNGG.mjs} +544 -393
  32. package/dist/lib/browser/chunk-UUA6GNGG.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +38 -54
  34. package/dist/lib/browser/index.mjs.map +3 -3
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/{operation-resolver-2673CFJS.mjs → operation-resolver-ELXDQZEG.mjs} +23 -20
  37. package/dist/lib/browser/operation-resolver-ELXDQZEG.mjs.map +7 -0
  38. package/dist/lib/browser/{react-surface-T3FN4GVP.mjs → react-surface-KYQSZO2I.mjs} +42 -23
  39. package/dist/lib/browser/react-surface-KYQSZO2I.mjs.map +7 -0
  40. package/dist/lib/browser/{repair-IRXDYF4R.mjs → repair-ZFZWZALX.mjs} +9 -8
  41. package/dist/lib/browser/repair-ZFZWZALX.mjs.map +7 -0
  42. package/dist/lib/browser/{settings-XF6GKHCG.mjs → settings-YREVQAZ5.mjs} +2 -2
  43. package/dist/lib/browser/{state-OYDPWLKA.mjs → state-MPG42ZO4.mjs} +2 -2
  44. package/dist/lib/browser/toolkit-XRSBBB3L.mjs +16 -0
  45. package/dist/lib/browser/toolkit-XRSBBB3L.mjs.map +7 -0
  46. package/dist/lib/browser/types/index.mjs +1 -1
  47. package/dist/lib/node-esm/AssistantSettings-QWFEMJG7.mjs +94 -0
  48. package/dist/lib/node-esm/AssistantSettings-QWFEMJG7.mjs.map +7 -0
  49. package/dist/lib/node-esm/BlueprintArticle-SNEN6LOY.mjs +37 -0
  50. package/dist/lib/node-esm/BlueprintArticle-SNEN6LOY.mjs.map +7 -0
  51. package/dist/lib/node-esm/{ChatCompanion-W4PGOCGR.mjs → ChatCompanion-NP4R5BFE.mjs} +11 -9
  52. package/dist/lib/node-esm/ChatCompanion-NP4R5BFE.mjs.map +7 -0
  53. package/dist/lib/node-esm/ChatContainer-IFHDIFJH.mjs +13 -0
  54. package/dist/lib/node-esm/{ChatDialog-AFLPYSIU.mjs → ChatDialog-UZNQBTKZ.mjs} +7 -7
  55. package/dist/lib/node-esm/ChatDialog-UZNQBTKZ.mjs.map +7 -0
  56. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs +92 -0
  57. package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs.map +7 -0
  58. package/dist/lib/node-esm/ProjectSettings-Q5QY6BYS.mjs +195 -0
  59. package/dist/lib/node-esm/ProjectSettings-Q5QY6BYS.mjs.map +7 -0
  60. package/dist/lib/node-esm/PromptArticle-PGMJMQK7.mjs +72 -0
  61. package/dist/lib/node-esm/PromptArticle-PGMJMQK7.mjs.map +7 -0
  62. package/dist/lib/node-esm/TriggerStatus-UR5S7PXJ.mjs +123 -0
  63. package/dist/lib/node-esm/TriggerStatus-UR5S7PXJ.mjs.map +7 -0
  64. package/dist/lib/node-esm/{app-graph-builder-4QN5M6PD.mjs → app-graph-builder-E25JXI34.mjs} +3 -3
  65. package/dist/lib/node-esm/app-graph-builder-E25JXI34.mjs.map +7 -0
  66. package/dist/lib/node-esm/blueprint-definition-CMJWGGJO.mjs +36 -0
  67. package/dist/lib/node-esm/blueprint-definition-CMJWGGJO.mjs.map +7 -0
  68. package/dist/lib/node-esm/blueprints/index.mjs +3 -7
  69. package/dist/lib/node-esm/chunk-3QBVFAYO.mjs +28 -0
  70. package/dist/lib/node-esm/chunk-3QBVFAYO.mjs.map +7 -0
  71. package/dist/lib/node-esm/{ChatContainer-ECFQVH6O.mjs → chunk-6NCLKQCL.mjs} +17 -21
  72. package/dist/lib/node-esm/chunk-6NCLKQCL.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-3XC7LQSO.mjs → chunk-GZ4ERNT2.mjs} +544 -393
  74. package/dist/lib/node-esm/chunk-GZ4ERNT2.mjs.map +7 -0
  75. package/dist/lib/node-esm/{chunk-MJD5XWQV.mjs → chunk-JMBYVUD6.mjs} +27 -27
  76. package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-LB72WG6R.mjs → chunk-MWYYLALM.mjs} +8 -8
  78. package/dist/lib/node-esm/chunk-MWYYLALM.mjs.map +7 -0
  79. package/dist/lib/node-esm/index.mjs +38 -54
  80. package/dist/lib/node-esm/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/meta.json +1 -1
  82. package/dist/lib/node-esm/{operation-resolver-2ZD2DXOU.mjs → operation-resolver-Q5GNP2GH.mjs} +23 -20
  83. package/dist/lib/node-esm/operation-resolver-Q5GNP2GH.mjs.map +7 -0
  84. package/dist/lib/node-esm/{react-surface-T4VMCCKZ.mjs → react-surface-JJRGVGKD.mjs} +42 -23
  85. package/dist/lib/node-esm/react-surface-JJRGVGKD.mjs.map +7 -0
  86. package/dist/lib/node-esm/{repair-DMI55PON.mjs → repair-LXFVOK4B.mjs} +9 -8
  87. package/dist/lib/node-esm/repair-LXFVOK4B.mjs.map +7 -0
  88. package/dist/lib/node-esm/{settings-NGGZA7S7.mjs → settings-N452OW6Y.mjs} +2 -2
  89. package/dist/lib/node-esm/{state-VSCPGN7R.mjs → state-WHZFKIEL.mjs} +2 -2
  90. package/dist/lib/node-esm/{toolkit-JPRJRDDB.mjs → toolkit-5IWGLUF4.mjs} +3 -6
  91. package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs.map +7 -0
  92. package/dist/lib/node-esm/types/index.mjs +1 -1
  93. package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
  94. package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
  95. package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
  96. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
  97. package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
  98. package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
  99. package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
  100. package/dist/types/src/blueprints/index.d.ts +1 -6
  101. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/ai-service/ai-service.d.ts +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
  104. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +2 -22
  106. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -2
  108. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
  109. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +1 -1
  110. package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +1 -1
  112. package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +1 -1
  114. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +1 -1
  116. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
  118. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  119. package/dist/types/src/capabilities/settings/settings.d.ts +1 -1
  120. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  121. package/dist/types/src/capabilities/toolkit/index.d.ts +1 -1
  122. package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/toolkit/toolkit.d.ts +1 -1
  124. package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -1
  125. package/dist/types/src/components/Chat/Chat.d.ts +6 -5
  126. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  127. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  128. package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
  129. package/dist/types/src/components/ChatThread/ChatThread.d.ts +1 -1
  130. package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +15 -15
  131. package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
  132. package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
  133. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +14 -14
  134. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  135. package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +14 -14
  136. package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +14 -14
  137. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +2 -2
  138. package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -1
  139. package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -1
  140. package/dist/types/src/components/index.d.ts +0 -11
  141. package/dist/types/src/components/index.d.ts.map +1 -1
  142. package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  143. package/dist/types/src/containers/AssistantSettings/index.d.ts +3 -0
  144. package/dist/types/src/containers/AssistantSettings/index.d.ts.map +1 -0
  145. package/dist/types/src/{components → containers/BlueprintArticle}/BlueprintArticle.d.ts +0 -1
  146. package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
  147. package/dist/types/src/containers/BlueprintArticle/index.d.ts +3 -0
  148. package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
  149. package/dist/types/src/{components → containers/ChatCompanion}/ChatCompanion.d.ts +0 -1
  150. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
  151. package/dist/types/src/containers/ChatCompanion/index.d.ts +3 -0
  152. package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
  153. package/dist/types/src/{components → containers/ChatContainer}/ChatContainer.d.ts +2 -3
  154. package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
  155. package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
  156. package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
  157. package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +0 -1
  158. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
  159. package/dist/types/src/containers/ChatDialog/index.d.ts +3 -0
  160. package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
  161. package/dist/types/src/containers/Project/ProjectArticle.d.ts +7 -0
  162. package/dist/types/src/containers/Project/ProjectArticle.d.ts.map +1 -0
  163. package/dist/types/src/containers/Project/ProjectSettings.d.ts +6 -0
  164. package/dist/types/src/containers/Project/ProjectSettings.d.ts.map +1 -0
  165. package/dist/types/src/containers/Project/index.d.ts +7 -0
  166. package/dist/types/src/containers/Project/index.d.ts.map +1 -0
  167. package/dist/types/src/containers/Project/triggers.d.ts +6 -0
  168. package/dist/types/src/containers/Project/triggers.d.ts.map +1 -0
  169. package/dist/types/src/{components → containers/PromptArticle}/PromptArticle.d.ts +0 -1
  170. package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
  171. package/dist/types/src/containers/PromptArticle/index.d.ts +3 -0
  172. package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
  173. package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
  174. package/dist/types/src/{components → containers}/TriggerStatus/TriggerStatus.d.ts.map +1 -1
  175. package/dist/types/src/containers/TriggerStatus/index.d.ts +3 -0
  176. package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
  177. package/dist/types/src/containers/index.d.ts +10 -0
  178. package/dist/types/src/containers/index.d.ts.map +1 -0
  179. package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
  180. package/dist/types/src/hooks/useFilteredTypes.d.ts +1 -1
  181. package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -1
  182. package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
  183. package/dist/types/src/index.d.ts +1 -0
  184. package/dist/types/src/index.d.ts.map +1 -1
  185. package/dist/types/src/processor/processor.d.ts +1 -1
  186. package/dist/types/src/processor/processor.d.ts.map +1 -1
  187. package/dist/types/src/translations.d.ts +14 -14
  188. package/dist/types/src/types/AssistantAction.d.ts +7 -11
  189. package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
  190. package/dist/types/src/types/service.d.ts.map +1 -1
  191. package/dist/types/tsconfig.tsbuildinfo +1 -1
  192. package/package.json +82 -82
  193. package/src/AssistantPlugin.tsx +12 -9
  194. package/src/blueprints/assistant/blueprint.conversations.json +1 -0
  195. package/src/blueprints/assistant/blueprint.test.ts +48 -0
  196. package/src/blueprints/assistant/blueprint.ts +27 -0
  197. package/src/blueprints/assistant/index.ts +5 -0
  198. package/src/blueprints/index.ts +1 -8
  199. package/src/capabilities/app-graph-builder/app-graph-builder.ts +1 -3
  200. package/src/capabilities/blueprint-definition/blueprint-definition.ts +25 -49
  201. package/src/capabilities/blueprint-definition/index.ts +0 -1
  202. package/src/capabilities/operation-resolver/operation-resolver.ts +21 -12
  203. package/src/capabilities/react-surface/react-surface.tsx +21 -11
  204. package/src/capabilities/repair/repair.ts +14 -7
  205. package/src/capabilities/toolkit/toolkit.ts +3 -15
  206. package/src/components/Chat/Chat.tsx +25 -15
  207. package/src/components/ChatProgress/ChatProgress.tsx +2 -2
  208. package/src/components/ChatPrompt/ChatActions.tsx +1 -1
  209. package/src/components/ChatPrompt/ChatOptions.tsx +29 -9
  210. package/src/components/ChatPrompt/ChatReferences.tsx +14 -4
  211. package/src/components/ChatThread/ChatThread.stories.tsx +4 -4
  212. package/src/components/ChatThread/ChatThread.tsx +2 -2
  213. package/src/components/ChatThread/registry.tsx +48 -15
  214. package/src/components/ChatThread/sync.test.ts +2 -0
  215. package/src/components/ChatThread/sync.ts +14 -8
  216. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
  217. package/src/components/TemplateEditor/TemplateEditor.tsx +2 -2
  218. package/src/components/TemplateEditor/TemplateForm.stories.tsx +2 -2
  219. package/src/components/TemplateEditor/TemplateForm.tsx +6 -7
  220. package/src/components/TemplateEditor/extensions/handlebars-extension.ts +4 -4
  221. package/src/components/ToolBlock/ToolBlock.tsx +4 -4
  222. package/src/components/Toolbox/Toolbox.stories.tsx +2 -2
  223. package/src/components/Toolbox/Toolbox.tsx +2 -2
  224. package/src/components/Typewriter/AssistantToolbar.tsx +3 -3
  225. package/src/components/Typewriter/Typewriter.stories.tsx +18 -15
  226. package/src/components/Typewriter/Typewriter.tsx +1 -1
  227. package/src/components/Typewriter/assistant-extension.tsx +3 -5
  228. package/src/components/index.ts +0 -18
  229. package/src/containers/AssistantSettings/index.ts +7 -0
  230. package/src/{components → containers/BlueprintArticle}/BlueprintArticle.tsx +10 -8
  231. package/src/containers/BlueprintArticle/index.ts +7 -0
  232. package/src/{components → containers/ChatCompanion}/ChatCompanion.tsx +4 -5
  233. package/src/containers/ChatCompanion/index.ts +7 -0
  234. package/src/{components → containers/ChatContainer}/ChatContainer.tsx +25 -24
  235. package/src/containers/ChatContainer/index.ts +7 -0
  236. package/src/{components → containers/ChatDialog}/ChatDialog.tsx +4 -7
  237. package/src/containers/ChatDialog/index.ts +7 -0
  238. package/src/containers/Project/ProjectArticle.tsx +117 -0
  239. package/src/containers/Project/ProjectSettings.tsx +118 -0
  240. package/src/containers/Project/index.ts +16 -0
  241. package/src/containers/Project/triggers.ts +131 -0
  242. package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
  243. package/src/containers/PromptArticle/index.ts +7 -0
  244. package/src/{components → containers}/TriggerStatus/TriggerStatus.tsx +12 -4
  245. package/src/containers/TriggerStatus/index.ts +7 -0
  246. package/src/containers/index.ts +15 -0
  247. package/src/hooks/useBlueprintRegistry.ts +5 -2
  248. package/src/hooks/useFilteredTypes.ts +2 -2
  249. package/src/hooks/useReferencesProvider.ts +1 -5
  250. package/src/index.ts +1 -0
  251. package/src/processor/processor.test.ts +2 -1
  252. package/src/processor/processor.ts +17 -22
  253. package/src/testing/test-sequence.ts +3 -3
  254. package/src/testing/test-services.ts +1 -1
  255. package/src/translations.ts +11 -11
  256. package/src/types/AssistantAction.ts +3 -3
  257. package/src/types/service.ts +3 -3
  258. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs +0 -30
  259. package/dist/lib/browser/BlueprintArticle-6SP2ZWJ2.mjs.map +0 -7
  260. package/dist/lib/browser/ChatCompanion-CAKFZAWN.mjs.map +0 -7
  261. package/dist/lib/browser/ChatContainer-QB37VONJ.mjs.map +0 -7
  262. package/dist/lib/browser/ChatDialog-ASVBLOOS.mjs.map +0 -7
  263. package/dist/lib/browser/InitiativeContainer-V522FCYH.mjs +0 -266
  264. package/dist/lib/browser/InitiativeContainer-V522FCYH.mjs.map +0 -7
  265. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs +0 -52
  266. package/dist/lib/browser/PromptArticle-PK3CBRUB.mjs.map +0 -7
  267. package/dist/lib/browser/app-graph-builder-MUZGUQSC.mjs.map +0 -7
  268. package/dist/lib/browser/blueprint-definition-YAGWYVCL.mjs +0 -14
  269. package/dist/lib/browser/chunk-3ETBCBMH.mjs +0 -47
  270. package/dist/lib/browser/chunk-3ETBCBMH.mjs.map +0 -7
  271. package/dist/lib/browser/chunk-6BVCG5SJ.mjs.map +0 -7
  272. package/dist/lib/browser/chunk-DKQMSMBN.mjs +0 -326
  273. package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +0 -7
  274. package/dist/lib/browser/chunk-IJYAKPEU.mjs.map +0 -7
  275. package/dist/lib/browser/chunk-JA7PUZC7.mjs.map +0 -7
  276. package/dist/lib/browser/chunk-POPBT2AQ.mjs +0 -198
  277. package/dist/lib/browser/chunk-POPBT2AQ.mjs.map +0 -7
  278. package/dist/lib/browser/operation-resolver-2673CFJS.mjs.map +0 -7
  279. package/dist/lib/browser/react-surface-T3FN4GVP.mjs.map +0 -7
  280. package/dist/lib/browser/repair-IRXDYF4R.mjs.map +0 -7
  281. package/dist/lib/browser/toolkit-IDXQCSTX.mjs +0 -19
  282. package/dist/lib/browser/toolkit-IDXQCSTX.mjs.map +0 -7
  283. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs +0 -31
  284. package/dist/lib/node-esm/BlueprintArticle-7LI6UXKZ.mjs.map +0 -7
  285. package/dist/lib/node-esm/ChatCompanion-W4PGOCGR.mjs.map +0 -7
  286. package/dist/lib/node-esm/ChatContainer-ECFQVH6O.mjs.map +0 -7
  287. package/dist/lib/node-esm/ChatDialog-AFLPYSIU.mjs.map +0 -7
  288. package/dist/lib/node-esm/InitiativeContainer-U4LGO3BW.mjs +0 -267
  289. package/dist/lib/node-esm/InitiativeContainer-U4LGO3BW.mjs.map +0 -7
  290. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs +0 -53
  291. package/dist/lib/node-esm/PromptArticle-BHPABYLT.mjs.map +0 -7
  292. package/dist/lib/node-esm/blueprint-definition-H3LFAEK2.mjs +0 -15
  293. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs +0 -48
  294. package/dist/lib/node-esm/chunk-2LEN26ZQ.mjs.map +0 -7
  295. package/dist/lib/node-esm/chunk-3XC7LQSO.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-75PHXBN3.mjs +0 -327
  297. package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +0 -7
  298. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs +0 -199
  299. package/dist/lib/node-esm/chunk-F6LA7XNS.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-LB72WG6R.mjs.map +0 -7
  301. package/dist/lib/node-esm/chunk-MJD5XWQV.mjs.map +0 -7
  302. package/dist/lib/node-esm/operation-resolver-2ZD2DXOU.mjs.map +0 -7
  303. package/dist/lib/node-esm/react-surface-T4VMCCKZ.mjs.map +0 -7
  304. package/dist/lib/node-esm/repair-DMI55PON.mjs.map +0 -7
  305. package/dist/lib/node-esm/toolkit-JPRJRDDB.mjs.map +0 -7
  306. package/dist/types/src/blueprints/assistant-blueprint.d.ts +0 -11
  307. package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +0 -1
  308. package/dist/types/src/components/AssistantSettings/index.d.ts +0 -2
  309. package/dist/types/src/components/AssistantSettings/index.d.ts.map +0 -1
  310. package/dist/types/src/components/BlueprintArticle.d.ts.map +0 -1
  311. package/dist/types/src/components/ChatCompanion.d.ts.map +0 -1
  312. package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
  313. package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
  314. package/dist/types/src/components/InitiativeContainer.d.ts +0 -9
  315. package/dist/types/src/components/InitiativeContainer.d.ts.map +0 -1
  316. package/dist/types/src/components/PromptArticle.d.ts.map +0 -1
  317. package/dist/types/src/components/TriggerStatus/TriggerStatus.d.ts +0 -4
  318. package/dist/types/src/components/TriggerStatus/index.d.ts +0 -2
  319. package/dist/types/src/components/TriggerStatus/index.d.ts.map +0 -1
  320. package/dist/types/src/functions/index.d.ts +0 -4
  321. package/dist/types/src/functions/index.d.ts.map +0 -1
  322. package/dist/types/src/functions/object-list.d.ts +0 -10
  323. package/dist/types/src/functions/object-list.d.ts.map +0 -1
  324. package/dist/types/src/functions/object-load.d.ts +0 -8
  325. package/dist/types/src/functions/object-load.d.ts.map +0 -1
  326. package/dist/types/src/functions/object-search.d.ts +0 -10
  327. package/dist/types/src/functions/object-search.d.ts.map +0 -1
  328. package/src/blueprints/assistant-blueprint.ts +0 -57
  329. package/src/components/AssistantSettings/index.ts +0 -5
  330. package/src/components/InitiativeContainer.tsx +0 -340
  331. package/src/components/PromptArticle.tsx +0 -49
  332. package/src/components/TriggerStatus/index.ts +0 -5
  333. package/src/functions/index.ts +0 -7
  334. package/src/functions/object-list.ts +0 -49
  335. package/src/functions/object-load.ts +0 -44
  336. package/src/functions/object-search.ts +0 -46
  337. /package/dist/lib/browser/{blueprint-definition-YAGWYVCL.mjs.map → ChatContainer-ZGRSZ5EU.mjs.map} +0 -0
  338. /package/dist/lib/browser/{settings-XF6GKHCG.mjs.map → settings-YREVQAZ5.mjs.map} +0 -0
  339. /package/dist/lib/browser/{state-OYDPWLKA.mjs.map → state-MPG42ZO4.mjs.map} +0 -0
  340. /package/dist/lib/node-esm/{blueprint-definition-H3LFAEK2.mjs.map → ChatContainer-IFHDIFJH.mjs.map} +0 -0
  341. /package/dist/lib/node-esm/{settings-NGGZA7S7.mjs.map → settings-N452OW6Y.mjs.map} +0 -0
  342. /package/dist/lib/node-esm/{state-VSCPGN7R.mjs.map → state-WHZFKIEL.mjs.map} +0 -0
  343. /package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts +0 -0
  344. /package/src/{components → containers}/AssistantSettings/AssistantSettings.tsx +0 -0
@@ -1,340 +0,0 @@
1
- //
2
- // Copyright 2026 DXOS.org
3
- //
4
-
5
- import { Atom, useAtomValue } from '@effect-atom/atom-react';
6
- import * as Effect from 'effect/Effect';
7
- import * as Match from 'effect/Match';
8
- import * as Option from 'effect/Option';
9
- import type * as Record from 'effect/Record';
10
- import React, { useCallback, useMemo, useState } from 'react';
11
-
12
- import { Surface, useCapability } from '@dxos/app-framework/ui';
13
- import { Initiative } from '@dxos/assistant-toolkit';
14
- import { DXN, Filter, Obj, Query, Ref } from '@dxos/echo';
15
- import { type JsonPath, splitJsonPath } from '@dxos/echo/internal';
16
- import { AtomObj, AtomRef } from '@dxos/echo-atom';
17
- import { FunctionDefinition, QueueService, Trigger } from '@dxos/functions';
18
- import { AutomationCapabilities } from '@dxos/plugin-automation/types';
19
- import { MarkdownEditor } from '@dxos/plugin-markdown';
20
- import { useObject, useQuery } from '@dxos/react-client/echo';
21
- import { Button, ButtonGroup, IconButton, Input, toLocalizedString, useTranslation } from '@dxos/react-ui';
22
- import { Form, type FormFieldMap, omitId } from '@dxos/react-ui-form';
23
- import { StackItem } from '@dxos/react-ui-stack';
24
- import { type Text } from '@dxos/schema';
25
-
26
- export type InitiativeContainerProps = {
27
- role?: string;
28
- initiative: Initiative.Initiative;
29
- };
30
-
31
- const TAB_INITATIVE = 'Initiative';
32
- const TAB_CHAT = 'Chat';
33
-
34
- export const InitiativeContainer = ({ role, initiative }: InitiativeContainerProps) => {
35
- const [selectedTab, setSelectedTab] = useState<string>(TAB_INITATIVE);
36
-
37
- const tabs = useAtomValue(
38
- useMemo(
39
- () =>
40
- AtomObj.make(initiative).pipe((initiative) =>
41
- Atom.make((get) => {
42
- return [TAB_INITATIVE, TAB_CHAT, ...get(initiative).artifacts.map((artifact) => artifact.name)];
43
- }),
44
- ),
45
- [initiative],
46
- ),
47
- );
48
-
49
- const chat = useAtomValue(
50
- useMemo(
51
- () =>
52
- AtomObj.make(initiative).pipe((initiative) =>
53
- Atom.make((get) => {
54
- const chat = get(initiative).chat;
55
- return chat ? get(AtomRef.make(chat)) : undefined;
56
- }),
57
- ),
58
- [initiative],
59
- ),
60
- );
61
-
62
- const artifacts = useAtomValue(
63
- useMemo(
64
- () =>
65
- AtomObj.make(initiative).pipe((initiative) =>
66
- Atom.make((get) => {
67
- return get(initiative).artifacts.map((artifact) => ({
68
- name: artifact.name,
69
- data: get(AtomRef.make(artifact.data)),
70
- }));
71
- }),
72
- ),
73
- [initiative],
74
- ),
75
- );
76
-
77
- const selectedArtifact = artifacts.find((artifact) => artifact.name === selectedTab);
78
-
79
- return (
80
- <StackItem.Content toolbar>
81
- <div
82
- role='none'
83
- className='flex-1 min-is-0 overflow-x-auto scrollbar-none flex gap-1 border-b border-subduedSeparator'
84
- >
85
- {tabs.map((tab) => (
86
- <IconButton
87
- key={tab}
88
- icon={Match.value(tab).pipe(
89
- Match.when(TAB_INITATIVE, () => 'ph--sparkle--regular'),
90
- Match.when(TAB_CHAT, () => 'ph--chat--regular'),
91
- Match.orElse(() => 'ph--file--regular'),
92
- )}
93
- label={tab}
94
- variant={selectedTab === tab ? 'primary' : 'ghost'}
95
- onClick={() => setSelectedTab(tab)}
96
- />
97
- ))}
98
- </div>
99
- {selectedTab === TAB_INITATIVE && <InitiativeForm initiative={initiative} />}
100
- {selectedTab === TAB_CHAT && <Surface.Surface role='article' data={{ subject: chat }} limit={1} />}
101
- {selectedArtifact && <Surface.Surface role='section' data={{ subject: selectedArtifact.data }} limit={1} />}
102
- </StackItem.Content>
103
- );
104
- };
105
-
106
- export default InitiativeContainer;
107
-
108
- const InitiativeForm = ({ initiative }: { initiative: Initiative.Initiative }) => {
109
- const handleChange = useCallback(
110
- (
111
- values: Omit<Initiative.Initiative, 'id'>,
112
- { isValid, changed }: { isValid: boolean; changed: Record<string, boolean> },
113
- ) => {
114
- if (!isValid) {
115
- return;
116
- }
117
-
118
- const changedPaths = Object.keys(changed).filter((path) => changed[path as string]) as JsonPath[];
119
- // Handle other property changes.
120
- if (changedPaths.length > 0) {
121
- Obj.change(initiative, () => {
122
- for (const path of changedPaths) {
123
- const parts = splitJsonPath(path);
124
- const value = Obj.getValue(values as any, parts);
125
- Obj.setValue(initiative, parts, value);
126
- }
127
- });
128
- }
129
-
130
- queueMicrotask(() => syncTriggers(initiative));
131
- },
132
- [initiative],
133
- );
134
-
135
- const fieldMap = useMemo<FormFieldMap>(
136
- () => ({
137
- spec: ({ type, label, getValue, onValueChange }) => {
138
- const { t } = useTranslation();
139
-
140
- const value: Ref.Ref<Text.Text> = getValue();
141
- const target = useAtomValue(AtomRef.make(value));
142
- const [initialValue] = useObject(target, 'content');
143
-
144
- return (
145
- <Input.Root>
146
- <div role='none'>
147
- <Input.Label>{toLocalizedString(label, t)}</Input.Label>
148
- </div>
149
- <MarkdownEditor.Root id={target?.id ?? ''} object={target}>
150
- <MarkdownEditor.Content initialValue={initialValue} />
151
- </MarkdownEditor.Root>
152
- </Input.Root>
153
- );
154
- },
155
- plan: ({ type, label, getValue, onValueChange }) => {
156
- const { t } = useTranslation();
157
-
158
- const value: Ref.Ref<Initiative.Plan> = getValue();
159
- const target = useAtomValue(AtomRef.make(value));
160
-
161
- return (
162
- <Input.Root>
163
- <div role='none'>
164
- <Input.Label>{toLocalizedString(label, t)}</Input.Label>
165
- </div>
166
- <MarkdownEditor.Root id={target?.id ?? ''}>
167
- <MarkdownEditor.Content initialValue={target ? Initiative.formatPlan(target) : ''} />
168
- </MarkdownEditor.Root>
169
- </Input.Root>
170
- );
171
- },
172
- }),
173
- [],
174
- );
175
-
176
- const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
177
-
178
- const handleResetHistory = useCallback(async () => {
179
- const runtime = computeRuntime.getRuntime(Obj.getDatabase(initiative)!.spaceId);
180
-
181
- await runtime.runPromise(Initiative.resetChatHistory(initiative));
182
-
183
- if (!initiative.queue) {
184
- await runtime.runPromise(
185
- Effect.gen(function* () {
186
- const queue = yield* QueueService.createQueue();
187
- Obj.change(initiative, (initiative) => {
188
- initiative.queue = Ref.fromDXN(queue.dxn);
189
- });
190
- }),
191
- );
192
- }
193
- }, [initiative, computeRuntime]);
194
-
195
- const inputQueue = useAtomValue(
196
- AtomObj.make(initiative).pipe((_) =>
197
- Atom.make((get) =>
198
- Option.fromNullable(get(_).queue).pipe(Option.map(AtomRef.make), Option.map(get), Option.getOrUndefined),
199
- ),
200
- ),
201
- );
202
-
203
- const inputQueueItems = useQuery(inputQueue, Query.select(Filter.everything()));
204
-
205
- // TODO(dmaretskyi): Form breaks if we provide the echo object directly.
206
- const spreadValue = useMemo(() => ({ ...initiative }), [initiative]);
207
- return (
208
- <div className='flex flex-col gap-2'>
209
- <ButtonGroup classNames='h-10'>
210
- <Button onClick={handleResetHistory}>Reset History</Button>
211
- </ButtonGroup>
212
- <h3 className='mb-2'>Input Queue</h3>
213
- <div className='border border-subduedSeparator rounded-md p-2 h-64 overflow-y-auto'>
214
- {inputQueueItems.map((item) => (
215
- <Surface.Surface key={item.id} role='section' data={{ subject: item }} limit={1} />
216
- ))}
217
- {inputQueueItems.length === 0 && <div className='text-subdued'>No items in queue</div>}
218
- </div>
219
- <Form.Root
220
- schema={omitId(Initiative.Initiative)}
221
- onValuesChanged={handleChange as any}
222
- values={spreadValue}
223
- db={Obj.getDatabase(initiative)}
224
- fieldMap={fieldMap}
225
- >
226
- <Form.FieldSet />
227
- </Form.Root>
228
- </div>
229
- );
230
- };
231
-
232
- // TODO(dmaretskyi): Perhaps the association is better done with a relation.
233
-
234
- /**
235
- * Foreign key {@link INITIATIVE_TRIGGER_EXTENSION_KEY} => <initative id : ObjectId>
236
- */
237
- const INITIATIVE_TRIGGER_EXTENSION_KEY = 'dxos.org/extension/InitiativeTrigger';
238
-
239
- /**
240
- * Foreign key {@link INITIATIVE_TRIGGER_EXTENSION_KEY} => <dxn string of subscription target>
241
- */
242
- const INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY = 'dxos.org/extension/InitiativeTriggerTarget';
243
-
244
- /**
245
- * Syncs triggers in the database with the initiative subscriptions.
246
- */
247
-
248
- const syncTriggers = async (initiative: Initiative.Initiative) => {
249
- const db = Obj.getDatabase(initiative);
250
- if (!db) {
251
- return;
252
- }
253
-
254
- const triggers = await db
255
- .query(Filter.foreignKeys(Trigger.Trigger, [{ source: INITIATIVE_TRIGGER_EXTENSION_KEY, id: initiative.id }]))
256
- .run();
257
-
258
- // Delete triggers that are not in subscriptions.
259
- for (const trigger of triggers) {
260
- const target = Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).at(0)?.id;
261
-
262
- const exists = initiative.subscriptions.find((subscription) => subscription.dxn.toString() === target);
263
- if (!exists && !(initiative.useQualifyingAgent && target === Obj.getDXN(initiative)?.toString())) {
264
- db.remove(trigger);
265
- }
266
- }
267
-
268
- // Add triggers that are not in the database.
269
- for (const subscription of initiative.subscriptions) {
270
- const relevantTrigger = triggers.find((trigger) =>
271
- Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).some(
272
- (key) => key.id === subscription.dxn.toString(),
273
- ),
274
- );
275
- if (relevantTrigger) {
276
- continue;
277
- }
278
-
279
- const target = await subscription.tryLoad();
280
- if (!target || !target.queue || !(target.queue.dxn instanceof DXN) || target.queue.dxn.kind !== DXN.kind.QUEUE) {
281
- continue;
282
- }
283
-
284
- db.add(
285
- Trigger.make({
286
- [Obj.Meta]: {
287
- keys: [
288
- { source: INITIATIVE_TRIGGER_EXTENSION_KEY, id: initiative.id },
289
- { source: INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY, id: subscription.dxn.toString() },
290
- ],
291
- },
292
- enabled: true,
293
- spec: {
294
- kind: 'queue',
295
- queue: target.queue.dxn.toString(),
296
- },
297
- function: Ref.make(
298
- FunctionDefinition.serialize(initiative.useQualifyingAgent ? Initiative.qualifier : Initiative.agent),
299
- ),
300
- input: {
301
- initiative: Ref.make(initiative),
302
- event: '{{event}}',
303
- },
304
- concurrency: initiative.useQualifyingAgent ? 5 : undefined,
305
- }),
306
- );
307
- }
308
-
309
- if (initiative.useQualifyingAgent) {
310
- const qualifierTrigger = triggers.find((trigger) =>
311
- Obj.getKeys(trigger, INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY).some(
312
- (key) => key.id === Obj.getDXN(initiative)?.toString(),
313
- ),
314
- );
315
- if (!qualifierTrigger && initiative.queue) {
316
- db.add(
317
- Trigger.make({
318
- [Obj.Meta]: {
319
- keys: [
320
- { source: INITIATIVE_TRIGGER_EXTENSION_KEY, id: initiative.id },
321
- { source: INITIATIVE_TRIGGER_TARGET_EXTENSION_KEY, id: Obj.getDXN(initiative)?.toString() ?? '' },
322
- ],
323
- },
324
- function: Ref.make(FunctionDefinition.serialize(Initiative.agent)),
325
- enabled: true,
326
- spec: {
327
- kind: 'queue',
328
- queue: initiative.queue.dxn.toString(),
329
- },
330
- input: {
331
- initiative: Ref.make(initiative),
332
- event: '{{event}}',
333
- },
334
- }),
335
- );
336
- }
337
- }
338
-
339
- await db.flush({ indexes: true });
340
- };
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import React, { useMemo } from 'react';
6
-
7
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
8
- import { Agent } from '@dxos/assistant-toolkit';
9
- import { type Prompt } from '@dxos/blueprints';
10
- import { Obj } from '@dxos/echo';
11
- import { invokeFunctionWithTracing, useComputeRuntimeCallback } from '@dxos/plugin-automation';
12
- import { Layout, Toolbar, useTranslation } from '@dxos/react-ui';
13
- import { useAttention } from '@dxos/react-ui-attention';
14
-
15
- import { meta } from '../meta';
16
-
17
- import { TemplateEditor } from './TemplateEditor';
18
-
19
- export type PromptArticleProps = SurfaceComponentProps<Prompt.Prompt>;
20
-
21
- export const PromptArticle = ({ role, subject }: PromptArticleProps) => {
22
- const { t } = useTranslation(meta.id);
23
- const db = Obj.getDatabase(subject);
24
- const { hasAttention } = useAttention(Obj.getDXN(subject).toString());
25
-
26
- const inputData = useMemo(
27
- () =>
28
- subject && {
29
- prompt: db?.makeRef(Obj.getDXN(subject)),
30
- input: {},
31
- },
32
- [subject, db],
33
- );
34
-
35
- const handleRun = useComputeRuntimeCallback(db?.spaceId, () => invokeFunctionWithTracing(Agent.prompt, inputData), [
36
- inputData,
37
- ]);
38
-
39
- return (
40
- <Layout.Main role={role} toolbar>
41
- <Toolbar.Root disabled={!hasAttention} onClick={handleRun}>
42
- <Toolbar.IconButton iconOnly icon='ph--play--regular' label={t('run prompt label')} onClick={handleRun} />
43
- </Toolbar.Root>
44
- <TemplateEditor id={subject.id} template={subject.instructions} classNames='container-max-width' />
45
- </Layout.Main>
46
- );
47
- };
48
-
49
- export default PromptArticle;
@@ -1,5 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export * from './TriggerStatus';
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export { default as list } from './object-list';
6
- export { default as load } from './object-load';
7
- export { default as search } from './object-search';
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
-
8
- import { Filter, Obj, Query } from '@dxos/echo';
9
- import { Database } from '@dxos/echo';
10
- import { defineFunction } from '@dxos/functions';
11
- import { trim } from '@dxos/util';
12
-
13
- // TODO(burdon): Move to toolkit (i.e., tool not function).
14
- export default defineFunction({
15
- key: 'dxos.org/function/assistant/object-list',
16
- name: 'List objects',
17
- description:
18
- // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
19
- trim`
20
- Lists the objects of the given type.
21
- Check the get-schemas tool for available types before calling this function.
22
- `,
23
- inputSchema: Schema.Struct({
24
- typename: Schema.String.annotations({
25
- description: 'The typename of the objects to list.',
26
- }),
27
- }),
28
- outputSchema: Schema.Struct({
29
- results: Schema.Array(
30
- Schema.Struct({
31
- dxn: Schema.String.annotations({ description: 'The DXN of the object.' }),
32
- label: Schema.optional(Schema.String.annotations({ description: 'The label of the object.' })),
33
- }),
34
- ),
35
- }),
36
- handler: Effect.fn(function* ({ data: { typename } }) {
37
- // TODO(wittjosiah): Typename query is not working for dynamic schemas.
38
- const [schema] = yield* Database.runSchemaQuery({ typename });
39
- const filter = schema ? Filter.type(schema) : Filter.typename(typename);
40
-
41
- const objects = yield* Database.runQuery(Query.select(filter));
42
- const results = objects.map((object) => ({
43
- dxn: Obj.getDXN(object).toString(),
44
- label: Obj.getLabel(object),
45
- }));
46
-
47
- return { results };
48
- }),
49
- });
@@ -1,44 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
- import * as Function from 'effect/Function';
7
- import * as Option from 'effect/Option';
8
- import * as Schema from 'effect/Schema';
9
-
10
- import { Database, Entity, Type } from '@dxos/echo';
11
- import { defineFunction } from '@dxos/functions';
12
-
13
- // TODO(burdon): Move to toolkit (i.e., tool not function).
14
- export default defineFunction({
15
- key: 'dxos.org/function/assistant/object-load',
16
- name: 'Load object',
17
- description: 'Loads the object.',
18
- inputSchema: Schema.Struct({
19
- object: Type.Ref(Type.Obj).annotations({
20
- description: 'The ID of the object.',
21
- }),
22
- typename: Schema.String.annotations({
23
- description: 'The typename of the object.',
24
- }),
25
- }),
26
- outputSchema: Schema.Struct({
27
- // TODO(wittjosiah): Type.Entity.Any
28
- object: Schema.Any,
29
- }),
30
- handler: Effect.fn(function* ({ data: { object, typename } }) {
31
- const loadedObject = yield* Database.load(object);
32
- return yield* Function.pipe(
33
- Option.fromNullable(loadedObject),
34
- Option.flatMap((obj) => (Entity.getTypename(obj) === typename ? Option.some(obj) : Option.none())),
35
- Option.match({
36
- onNone: () => Effect.fail('Object not found.'),
37
- onSome: (obj) => {
38
- // log.info('object', { object: obj });
39
- return Effect.succeed({ object: obj });
40
- },
41
- }),
42
- );
43
- }),
44
- });
@@ -1,46 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
-
8
- import { Filter, Obj, Query } from '@dxos/echo';
9
- import { Database } from '@dxos/echo';
10
- import { defineFunction } from '@dxos/functions';
11
- import { trim } from '@dxos/util';
12
-
13
- // TODO(burdon): Move to toolkit (i.e., tool not function).
14
- export default defineFunction({
15
- key: 'dxos.org/function/assistant/object-search',
16
- name: 'Search objects',
17
- description:
18
- // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
19
- trim`
20
- Searches the objects using full-text search.
21
- `,
22
- inputSchema: Schema.Struct({
23
- query: Schema.String.annotations({
24
- description: 'The query to search for.',
25
- }),
26
- }),
27
- outputSchema: Schema.Struct({
28
- results: Schema.Array(
29
- Schema.Struct({
30
- dxn: Schema.String.annotations({ description: 'The DXN of the object.' }),
31
- label: Schema.optional(Schema.String.annotations({ description: 'The label of the object.' })),
32
- }),
33
- ),
34
- }),
35
- handler: Effect.fn(function* ({ data: { query } }) {
36
- const objects = yield* Database.runQuery(
37
- Query.select(Filter.text(query, { type: 'full-text' })).options({ allQueuesFromSpaces: true }),
38
- );
39
- const results = objects.map((object) => ({
40
- dxn: Obj.getDXN(object).toString(),
41
- label: Obj.getLabel(object),
42
- }));
43
-
44
- return { results };
45
- }),
46
- });