@dxos/assistant-toolkit 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef

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 (548) hide show
  1. package/dist/lib/neutral/{add-artifact-5TOKSVLY.mjs → add-artifact-BA5WQRDU.mjs} +7 -7
  2. package/dist/lib/neutral/add-artifact-BA5WQRDU.mjs.map +7 -0
  3. package/dist/lib/neutral/agent-M2EW5M36.mjs +65 -0
  4. package/dist/lib/neutral/agent-M2EW5M36.mjs.map +7 -0
  5. package/dist/lib/neutral/{chunk-V77TCYSP.mjs → chunk-CLHVRIYF.mjs} +76 -29
  6. package/dist/lib/neutral/chunk-CLHVRIYF.mjs.map +7 -0
  7. package/dist/lib/neutral/{chunk-IVXBQQDJ.mjs → chunk-CVUA23QI.mjs} +2 -2
  8. package/dist/lib/neutral/chunk-CVUA23QI.mjs.map +7 -0
  9. package/dist/lib/neutral/{chunk-MEQYXSDY.mjs → chunk-D5MG5OKX.mjs} +5 -6
  10. package/dist/lib/neutral/chunk-D5MG5OKX.mjs.map +7 -0
  11. package/dist/lib/neutral/{chunk-B5NOGNUG.mjs → chunk-E2XRNXWP.mjs} +7 -10
  12. package/dist/lib/neutral/chunk-E2XRNXWP.mjs.map +7 -0
  13. package/dist/lib/neutral/{chunk-BO4ZVH7M.mjs → chunk-EJAQUAKM.mjs} +3 -3
  14. package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +7 -0
  15. package/dist/lib/neutral/{chunk-PWGX4QYR.mjs → chunk-J37DYY7A.mjs} +7 -9
  16. package/dist/lib/neutral/chunk-J37DYY7A.mjs.map +7 -0
  17. package/dist/lib/neutral/{chunk-TCRQCJEJ.mjs → chunk-JCYLFOFK.mjs} +9 -9
  18. package/dist/lib/neutral/chunk-JCYLFOFK.mjs.map +7 -0
  19. package/dist/lib/neutral/{chunk-YBTLIXQK.mjs → chunk-KGU725LW.mjs} +2 -2
  20. package/dist/lib/neutral/{chunk-YBTLIXQK.mjs.map → chunk-KGU725LW.mjs.map} +3 -3
  21. package/dist/lib/neutral/{chunk-VD2WAUU2.mjs → chunk-KY2TIPJ5.mjs} +47 -17
  22. package/dist/lib/neutral/chunk-KY2TIPJ5.mjs.map +7 -0
  23. package/dist/lib/neutral/{chunk-B35UIL3R.mjs → chunk-MMTKJBB5.mjs} +3 -3
  24. package/dist/lib/neutral/chunk-MMTKJBB5.mjs.map +7 -0
  25. package/dist/lib/neutral/{chunk-DV5DCOUE.mjs → chunk-NR3GTWRC.mjs} +3 -2
  26. package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +7 -0
  27. package/dist/lib/neutral/{chunk-6DPL2YY5.mjs → chunk-TO5IX24K.mjs} +3 -4
  28. package/dist/lib/neutral/chunk-TO5IX24K.mjs.map +7 -0
  29. package/dist/lib/neutral/{chunk-MEZ4UFR6.mjs → chunk-WLR3BGO4.mjs} +2 -2
  30. package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-AGG6OZNB.mjs → chunk-ZFXLTBZG.mjs} +4 -5
  32. package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +7 -0
  33. package/dist/lib/neutral/{context-add-QAHU6I24.mjs → context-add-IIDPRRVB.mjs} +3 -3
  34. package/dist/lib/neutral/{context-add-QAHU6I24.mjs.map → context-add-IIDPRRVB.mjs.map} +1 -1
  35. package/dist/lib/neutral/{context-remove-VMZPMZ4E.mjs → context-remove-RDYV4PD4.mjs} +3 -3
  36. package/dist/lib/neutral/{context-remove-VMZPMZ4E.mjs.map → context-remove-RDYV4PD4.mjs.map} +1 -1
  37. package/dist/lib/neutral/{create-project-SI5SZ7LJ.mjs → create-project-GLDEAWTT.mjs} +10 -11
  38. package/dist/lib/neutral/create-project-GLDEAWTT.mjs.map +7 -0
  39. package/dist/lib/neutral/{delete-LHMZDJFA.mjs → delete-J3PMWP7Z.mjs} +4 -4
  40. package/dist/lib/neutral/delete-J3PMWP7Z.mjs.map +7 -0
  41. package/dist/lib/neutral/{enable-blueprints-4UMPKGUD.mjs → enable-blueprints-LBDZH2CY.mjs} +3 -4
  42. package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs.map +7 -0
  43. package/dist/lib/neutral/{fetch-TLKREIZA.mjs → fetch-KHMHV7JR.mjs} +3 -3
  44. package/dist/lib/neutral/{fetch-TLKREIZA.mjs.map → fetch-KHMHV7JR.mjs.map} +1 -1
  45. package/dist/lib/neutral/{fetch-messages-AFX7ZAVE.mjs → fetch-messages-PWGUG5G3.mjs} +8 -23
  46. package/dist/lib/neutral/fetch-messages-PWGUG5G3.mjs.map +7 -0
  47. package/dist/lib/neutral/{get-context-57JQM4HZ.mjs → get-context-B55SX5Y4.mjs} +7 -7
  48. package/dist/lib/neutral/get-context-B55SX5Y4.mjs.map +7 -0
  49. package/dist/lib/neutral/index.mjs +787 -131
  50. package/dist/lib/neutral/index.mjs.map +4 -4
  51. package/dist/lib/neutral/{load-ZTOGVHWP.mjs → load-LI7HHVD6.mjs} +3 -3
  52. package/dist/lib/neutral/{load-ZTOGVHWP.mjs.map → load-LI7HHVD6.mjs.map} +3 -3
  53. package/dist/lib/neutral/meta.json +1 -1
  54. package/dist/lib/neutral/{object-create-7QCGL56E.mjs → object-create-52Z7YKIA.mjs} +4 -12
  55. package/dist/lib/neutral/object-create-52Z7YKIA.mjs.map +7 -0
  56. package/dist/lib/neutral/{object-delete-KXBWC4Q4.mjs → object-delete-I266YAXI.mjs} +3 -3
  57. package/dist/lib/neutral/object-delete-I266YAXI.mjs.map +7 -0
  58. package/dist/lib/neutral/{object-update-B7RDX3JC.mjs → object-update-HY4GI7LA.mjs} +4 -4
  59. package/dist/lib/neutral/object-update-HY4GI7LA.mjs.map +7 -0
  60. package/dist/lib/neutral/{project-3J3AJCJK.mjs → project-2YBPW5N7.mjs} +6 -6
  61. package/dist/lib/neutral/{project-rules-NO3QVDZS.mjs → project-rules-XUBEPDP6.mjs} +7 -7
  62. package/dist/lib/neutral/project-rules-XUBEPDP6.mjs.map +7 -0
  63. package/dist/lib/neutral/{prompt-K5CIRXOD.mjs → prompt-2WZQERT4.mjs} +39 -65
  64. package/dist/lib/neutral/prompt-2WZQERT4.mjs.map +7 -0
  65. package/dist/lib/neutral/{qualifier-KSGP4CFL.mjs → qualifier-2AC2ICOB.mjs} +12 -28
  66. package/dist/lib/neutral/qualifier-2AC2ICOB.mjs.map +7 -0
  67. package/dist/lib/neutral/{query-FMGIPWJG.mjs → query-B3NOYFCK.mjs} +4 -5
  68. package/dist/lib/neutral/query-B3NOYFCK.mjs.map +7 -0
  69. package/dist/lib/neutral/{query-MN5B3MQF.mjs → query-U56GNEV6.mjs} +4 -4
  70. package/dist/lib/neutral/query-U56GNEV6.mjs.map +7 -0
  71. package/dist/lib/neutral/{query-blueprints-EKHEZAGD.mjs → query-blueprints-KXADGHSA.mjs} +3 -4
  72. package/dist/lib/neutral/query-blueprints-KXADGHSA.mjs.map +7 -0
  73. package/dist/lib/neutral/{relation-create-FSHBM5CJ.mjs → relation-create-Z3NGW4VU.mjs} +4 -12
  74. package/dist/lib/neutral/relation-create-Z3NGW4VU.mjs.map +7 -0
  75. package/dist/lib/neutral/{relation-delete-CYYQUIZY.mjs → relation-delete-LXY7W2YO.mjs} +3 -3
  76. package/dist/lib/neutral/relation-delete-LXY7W2YO.mjs.map +7 -0
  77. package/dist/lib/neutral/{save-ZWWNTBOD.mjs → save-GWAPLT3Z.mjs} +4 -4
  78. package/dist/lib/neutral/save-GWAPLT3Z.mjs.map +7 -0
  79. package/dist/lib/neutral/{schema-add-RVV364G6.mjs → schema-add-4TXJO2V7.mjs} +3 -3
  80. package/dist/lib/neutral/schema-add-4TXJO2V7.mjs.map +7 -0
  81. package/dist/lib/neutral/{schema-list-DVKEWYIU.mjs → schema-list-PJS5AFZ3.mjs} +13 -5
  82. package/dist/lib/neutral/schema-list-PJS5AFZ3.mjs.map +7 -0
  83. package/dist/lib/neutral/{sync-issues-BBAMXSZN.mjs → sync-issues-LOLHZNFL.mjs} +8 -20
  84. package/dist/lib/neutral/sync-issues-LOLHZNFL.mjs.map +7 -0
  85. package/dist/lib/neutral/{sync-triggers-6EXPBHIQ.mjs → sync-triggers-EYJM4QWR.mjs} +39 -20
  86. package/dist/lib/neutral/sync-triggers-EYJM4QWR.mjs.map +7 -0
  87. package/dist/lib/neutral/{tag-add-OUDUBR3E.mjs → tag-add-5NOHUTIE.mjs} +4 -4
  88. package/dist/lib/neutral/tag-add-5NOHUTIE.mjs.map +7 -0
  89. package/dist/lib/neutral/{tag-remove-DI3ZSLFK.mjs → tag-remove-QTKYDJAW.mjs} +4 -4
  90. package/dist/lib/neutral/tag-remove-QTKYDJAW.mjs.map +7 -0
  91. package/dist/lib/neutral/testing/index.mjs +7 -12
  92. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  93. package/dist/lib/neutral/{update-blueprints-ZNWR7BBN.mjs → update-blueprints-N2AK2VUR.mjs} +3 -4
  94. package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs.map +7 -0
  95. package/dist/lib/neutral/{update-tasks-3YZ3YXIU.mjs → update-tasks-ML2FCYU5.mjs} +7 -7
  96. package/dist/lib/neutral/update-tasks-ML2FCYU5.mjs.map +7 -0
  97. package/dist/types/src/blueprints/automation/blueprint.d.ts +2 -2
  98. package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -1
  99. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +2 -2
  100. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -1
  101. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +11 -12
  102. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -1
  103. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +6 -7
  104. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -1
  105. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +1 -1
  106. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -1
  107. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +5 -6
  108. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -1
  109. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +2 -3
  110. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +1 -1
  111. package/dist/types/src/blueprints/browser/blueprint.d.ts +2 -2
  112. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -1
  113. package/dist/types/src/blueprints/database/blueprint.d.ts +2 -2
  114. package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -1
  115. package/dist/types/src/blueprints/database/functions/context-add.d.ts +1 -1
  116. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -1
  117. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +1 -1
  118. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -1
  119. package/dist/types/src/blueprints/database/functions/definitions.d.ts +5 -5
  120. package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -1
  121. package/dist/types/src/blueprints/database/functions/index.d.ts +1 -1
  122. package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -1
  123. package/dist/types/src/blueprints/database/functions/load.d.ts +1 -1
  124. package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -1
  125. package/dist/types/src/blueprints/database/functions/object-create.d.ts +1 -1
  126. package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -1
  127. package/dist/types/src/blueprints/database/functions/object-delete.d.ts +1 -1
  128. package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -1
  129. package/dist/types/src/blueprints/database/functions/object-update.d.ts +2 -2
  130. package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -1
  131. package/dist/types/src/blueprints/database/functions/query.d.ts +3 -3
  132. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -1
  133. package/dist/types/src/blueprints/database/functions/relation-create.d.ts +2 -2
  134. package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -1
  135. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +1 -1
  136. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -1
  137. package/dist/types/src/blueprints/database/functions/schema-add.d.ts +1 -1
  138. package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -1
  139. package/dist/types/src/blueprints/database/functions/schema-list.d.ts +1 -1
  140. package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -1
  141. package/dist/types/src/blueprints/database/functions/tag-add.d.ts +1 -1
  142. package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -1
  143. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +1 -1
  144. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -1
  145. package/dist/types/src/blueprints/discord/blueprint.d.ts +2 -2
  146. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -1
  147. package/dist/types/src/blueprints/discord/functions/definitions.d.ts +2 -3
  148. package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -1
  149. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts +2 -3
  150. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -1
  151. package/dist/types/src/blueprints/discord/functions/index.d.ts +1 -1
  152. package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -1
  153. package/dist/types/src/blueprints/github/functions/definitions.d.ts +2 -3
  154. package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -1
  155. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +2 -3
  156. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -1
  157. package/dist/types/src/blueprints/github/functions/index.d.ts +1 -1
  158. package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -1
  159. package/dist/types/src/blueprints/index.d.ts +0 -3
  160. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  161. package/dist/types/src/blueprints/linear/blueprint.d.ts +2 -2
  162. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -1
  163. package/dist/types/src/blueprints/linear/functions/definitions.d.ts +2 -3
  164. package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -1
  165. package/dist/types/src/blueprints/linear/functions/index.d.ts +1 -1
  166. package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -1
  167. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +2 -3
  168. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -1
  169. package/dist/types/src/blueprints/memory/blueprint.d.ts +2 -2
  170. package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -1
  171. package/dist/types/src/blueprints/memory/functions/definitions.d.ts +4 -4
  172. package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -1
  173. package/dist/types/src/blueprints/memory/functions/delete.d.ts +2 -2
  174. package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -1
  175. package/dist/types/src/blueprints/memory/functions/index.d.ts +1 -1
  176. package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -1
  177. package/dist/types/src/blueprints/memory/functions/query.d.ts +2 -2
  178. package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -1
  179. package/dist/types/src/blueprints/memory/functions/save.d.ts +2 -2
  180. package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -1
  181. package/dist/types/src/blueprints/planning/blueprint.d.ts +2 -2
  182. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -1
  183. package/dist/types/src/blueprints/planning/functions/definitions.d.ts +3 -3
  184. package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +1 -1
  185. package/dist/types/src/blueprints/planning/functions/index.d.ts +1 -1
  186. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -1
  187. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +3 -3
  188. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -1
  189. package/dist/types/src/blueprints/project/blueprint.d.ts +2 -2
  190. package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -1
  191. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +2 -2
  192. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -1
  193. package/dist/types/src/blueprints/project/functions/agent.d.ts +1 -1
  194. package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -1
  195. package/dist/types/src/blueprints/project/functions/definitions.d.ts +46 -39
  196. package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -1
  197. package/dist/types/src/blueprints/project/functions/get-context.d.ts +4 -4
  198. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -1
  199. package/dist/types/src/blueprints/project/functions/index.d.ts +1 -1
  200. package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -1
  201. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +20 -16
  202. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -1
  203. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +2 -2
  204. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -1
  205. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +20 -17
  206. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -1
  207. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +36 -29
  208. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -1
  209. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +1 -1
  210. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -1
  211. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +1 -1
  212. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -1
  213. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +17 -13
  214. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -1
  215. package/dist/types/src/blueprints/testing.d.ts +5 -13
  216. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  217. package/dist/types/src/blueprints/websearch/blueprint.d.ts +2 -2
  218. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -1
  219. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +1 -1
  220. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -1
  221. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +1 -1
  222. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -1
  223. package/dist/types/src/blueprints/websearch/functions/index.d.ts +1 -1
  224. package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -1
  225. package/dist/types/src/blueprints/websearch/index.d.ts +1 -1
  226. package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
  227. package/dist/types/src/blueprints/websearch/toolkit.d.ts +2 -2
  228. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -1
  229. package/dist/types/src/crud/graph.d.ts +1 -1
  230. package/dist/types/src/crud/graph.d.ts.map +1 -1
  231. package/dist/types/src/errors.d.ts +6 -6
  232. package/dist/types/src/errors.d.ts.map +1 -1
  233. package/dist/types/src/functions/agent/definitions.d.ts +15 -15
  234. package/dist/types/src/functions/agent/definitions.d.ts.map +1 -1
  235. package/dist/types/src/functions/agent/index.d.ts +1 -1
  236. package/dist/types/src/functions/agent/index.d.ts.map +1 -1
  237. package/dist/types/src/functions/agent/prompt.d.ts +1 -1
  238. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  239. package/dist/types/src/functions/index.d.ts +0 -2
  240. package/dist/types/src/functions/index.d.ts.map +1 -1
  241. package/dist/types/src/sync/sync.d.ts.map +1 -1
  242. package/dist/types/src/testing/plugins.d.ts.map +1 -1
  243. package/dist/types/src/types/Agent.d.ts +19 -15
  244. package/dist/types/src/types/Agent.d.ts.map +1 -1
  245. package/dist/types/src/types/Chat.d.ts +8 -4
  246. package/dist/types/src/types/Chat.d.ts.map +1 -1
  247. package/dist/types/src/types/McpServer.d.ts +18 -0
  248. package/dist/types/src/types/McpServer.d.ts.map +1 -0
  249. package/dist/types/src/types/Memory.d.ts +1 -1
  250. package/dist/types/src/types/Memory.d.ts.map +1 -1
  251. package/dist/types/src/types/Plan.d.ts +17 -14
  252. package/dist/types/src/types/Plan.d.ts.map +1 -1
  253. package/dist/types/src/types/index.d.ts +1 -0
  254. package/dist/types/src/types/index.d.ts.map +1 -1
  255. package/dist/types/src/util/graphql.d.ts.map +1 -1
  256. package/dist/types/tsconfig.tsbuildinfo +1 -1
  257. package/package.json +25 -30
  258. package/src/blueprints/automation/blueprint.ts +2 -5
  259. package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -1
  260. package/src/blueprints/blueprint-manager/blueprint.test.ts +59 -37
  261. package/src/blueprints/blueprint-manager/blueprint.ts +2 -3
  262. package/src/blueprints/blueprint-manager/functions/definitions.ts +2 -3
  263. package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +1 -2
  264. package/src/blueprints/blueprint-manager/functions/index.ts +1 -1
  265. package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +1 -2
  266. package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +1 -2
  267. package/src/blueprints/browser/blueprint.test.ts +6 -8
  268. package/src/blueprints/browser/blueprint.ts +2 -3
  269. package/src/blueprints/database/blueprint.conversations.json +1 -1
  270. package/src/blueprints/database/blueprint.test.ts +49 -8
  271. package/src/blueprints/database/blueprint.ts +2 -3
  272. package/src/blueprints/database/functions/context-add.ts +1 -1
  273. package/src/blueprints/database/functions/context-remove.ts +1 -1
  274. package/src/blueprints/database/functions/definitions.ts +1 -1
  275. package/src/blueprints/database/functions/index.ts +1 -1
  276. package/src/blueprints/database/functions/load.ts +1 -1
  277. package/src/blueprints/database/functions/object-create.ts +1 -1
  278. package/src/blueprints/database/functions/object-delete.ts +1 -1
  279. package/src/blueprints/database/functions/object-update.ts +2 -2
  280. package/src/blueprints/database/functions/query.ts +2 -3
  281. package/src/blueprints/database/functions/relation-create.ts +1 -1
  282. package/src/blueprints/database/functions/relation-delete.ts +1 -1
  283. package/src/blueprints/database/functions/schema-add.ts +1 -1
  284. package/src/blueprints/database/functions/schema-list.ts +16 -10
  285. package/src/blueprints/database/functions/tag-add.ts +2 -2
  286. package/src/blueprints/database/functions/tag-remove.ts +2 -2
  287. package/src/blueprints/discord/blueprint.ts +2 -3
  288. package/src/blueprints/discord/functions/definitions.ts +2 -3
  289. package/src/blueprints/discord/functions/fetch-messages.test.ts +15 -26
  290. package/src/blueprints/discord/functions/fetch-messages.ts +4 -5
  291. package/src/blueprints/discord/functions/index.ts +1 -1
  292. package/src/blueprints/github/functions/definitions.ts +2 -3
  293. package/src/blueprints/github/functions/fetch-prs.ts +3 -3
  294. package/src/blueprints/github/functions/index.ts +1 -1
  295. package/src/blueprints/index.ts +0 -3
  296. package/src/blueprints/linear/blueprint.ts +2 -3
  297. package/src/blueprints/linear/functions/definitions.ts +2 -3
  298. package/src/blueprints/linear/functions/index.ts +1 -1
  299. package/src/blueprints/linear/functions/linear.test.ts +4 -5
  300. package/src/blueprints/linear/functions/sync-issues.ts +3 -3
  301. package/src/blueprints/memory/blueprint.conversations.json +1 -1
  302. package/src/blueprints/memory/blueprint.test.ts +5 -5
  303. package/src/blueprints/memory/blueprint.ts +3 -4
  304. package/src/blueprints/memory/functions/definitions.ts +1 -1
  305. package/src/blueprints/memory/functions/delete.ts +1 -1
  306. package/src/blueprints/memory/functions/index.ts +1 -1
  307. package/src/blueprints/memory/functions/query.ts +1 -1
  308. package/src/blueprints/memory/functions/save.ts +1 -1
  309. package/src/blueprints/planning/blueprint.ts +2 -3
  310. package/src/blueprints/planning/functions/definitions.ts +1 -1
  311. package/src/blueprints/planning/functions/index.ts +1 -1
  312. package/src/blueprints/planning/functions/update-tasks.ts +2 -2
  313. package/src/blueprints/project/blueprint.conversations.json +1 -1
  314. package/src/blueprints/project/blueprint.test.ts +127 -36
  315. package/src/blueprints/project/blueprint.ts +6 -7
  316. package/src/blueprints/project/functions/add-artifact.ts +2 -2
  317. package/src/blueprints/project/functions/agent.ts +15 -37
  318. package/src/blueprints/project/functions/definitions.ts +5 -8
  319. package/src/blueprints/project/functions/get-context.ts +3 -3
  320. package/src/blueprints/project/functions/index.ts +1 -1
  321. package/src/blueprints/project/functions/qualifier.ts +5 -5
  322. package/src/blueprints/project-wizard/blueprint.ts +12 -8
  323. package/src/blueprints/project-wizard/functions/create-project.ts +3 -4
  324. package/src/blueprints/project-wizard/functions/definitions.ts +3 -4
  325. package/src/blueprints/project-wizard/functions/index.ts +1 -1
  326. package/src/blueprints/project-wizard/functions/project-rules.ts +2 -2
  327. package/src/blueprints/project-wizard/functions/sync-triggers.ts +34 -15
  328. package/src/blueprints/testing.ts +7 -21
  329. package/src/blueprints/websearch/blueprint.conversations.json +1 -1
  330. package/src/blueprints/websearch/blueprint.test.ts +4 -4
  331. package/src/blueprints/websearch/blueprint.ts +2 -3
  332. package/src/blueprints/websearch/functions/definitions.ts +1 -1
  333. package/src/blueprints/websearch/functions/fetch.ts +1 -1
  334. package/src/blueprints/websearch/functions/index.ts +1 -1
  335. package/src/blueprints/websearch/index.ts +1 -1
  336. package/src/blueprints/websearch/toolkit.ts +2 -2
  337. package/src/crud/graph.test.ts +10 -12
  338. package/src/functions/agent/definitions.ts +5 -7
  339. package/src/functions/agent/index.ts +1 -1
  340. package/src/functions/agent/prompt.conversations.json +1 -1
  341. package/src/functions/agent/prompt.test.ts +5 -6
  342. package/src/functions/agent/prompt.ts +44 -42
  343. package/src/functions/index.ts +0 -2
  344. package/src/sync/sync.ts +18 -7
  345. package/src/testing/plugins.tsx +9 -7
  346. package/src/types/Agent.ts +51 -20
  347. package/src/types/Chat.ts +1 -0
  348. package/src/types/McpServer.ts +37 -0
  349. package/src/types/Memory.ts +2 -1
  350. package/src/types/Plan.ts +2 -2
  351. package/src/types/index.ts +1 -0
  352. package/dist/lib/neutral/add-artifact-5TOKSVLY.mjs.map +0 -7
  353. package/dist/lib/neutral/agent-SZV3Q7CN.mjs +0 -97
  354. package/dist/lib/neutral/agent-SZV3Q7CN.mjs.map +0 -7
  355. package/dist/lib/neutral/chunk-6DPL2YY5.mjs.map +0 -7
  356. package/dist/lib/neutral/chunk-6FL4C6KD.mjs +0 -86
  357. package/dist/lib/neutral/chunk-6FL4C6KD.mjs.map +0 -7
  358. package/dist/lib/neutral/chunk-AGG6OZNB.mjs.map +0 -7
  359. package/dist/lib/neutral/chunk-B35UIL3R.mjs.map +0 -7
  360. package/dist/lib/neutral/chunk-B5NOGNUG.mjs.map +0 -7
  361. package/dist/lib/neutral/chunk-BO4ZVH7M.mjs.map +0 -7
  362. package/dist/lib/neutral/chunk-DV5DCOUE.mjs.map +0 -7
  363. package/dist/lib/neutral/chunk-ILZ2ODWC.mjs +0 -95
  364. package/dist/lib/neutral/chunk-ILZ2ODWC.mjs.map +0 -7
  365. package/dist/lib/neutral/chunk-IVXBQQDJ.mjs.map +0 -7
  366. package/dist/lib/neutral/chunk-LI6VMCJW.mjs +0 -27
  367. package/dist/lib/neutral/chunk-LI6VMCJW.mjs.map +0 -7
  368. package/dist/lib/neutral/chunk-MEQYXSDY.mjs.map +0 -7
  369. package/dist/lib/neutral/chunk-MEZ4UFR6.mjs.map +0 -7
  370. package/dist/lib/neutral/chunk-PWGX4QYR.mjs.map +0 -7
  371. package/dist/lib/neutral/chunk-RW4H4TKD.mjs +0 -694
  372. package/dist/lib/neutral/chunk-RW4H4TKD.mjs.map +0 -7
  373. package/dist/lib/neutral/chunk-TCRQCJEJ.mjs.map +0 -7
  374. package/dist/lib/neutral/chunk-V77TCYSP.mjs.map +0 -7
  375. package/dist/lib/neutral/chunk-VD2WAUU2.mjs.map +0 -7
  376. package/dist/lib/neutral/chunk-VDEDVOS6.mjs +0 -39
  377. package/dist/lib/neutral/chunk-VDEDVOS6.mjs.map +0 -7
  378. package/dist/lib/neutral/chunk-XT5ZSUS6.mjs +0 -363
  379. package/dist/lib/neutral/chunk-XT5ZSUS6.mjs.map +0 -7
  380. package/dist/lib/neutral/create-P6I22VS5.mjs +0 -23
  381. package/dist/lib/neutral/create-P6I22VS5.mjs.map +0 -7
  382. package/dist/lib/neutral/create-project-SI5SZ7LJ.mjs.map +0 -7
  383. package/dist/lib/neutral/delete-LHMZDJFA.mjs.map +0 -7
  384. package/dist/lib/neutral/document-create-53ZVNGFR.mjs +0 -57
  385. package/dist/lib/neutral/document-create-53ZVNGFR.mjs.map +0 -7
  386. package/dist/lib/neutral/enable-blueprints-4UMPKGUD.mjs.map +0 -7
  387. package/dist/lib/neutral/entity-extraction-B2CTBGNA.mjs +0 -196
  388. package/dist/lib/neutral/entity-extraction-B2CTBGNA.mjs.map +0 -7
  389. package/dist/lib/neutral/exa-P4G3DCYB.mjs +0 -28
  390. package/dist/lib/neutral/exa-P4G3DCYB.mjs.map +0 -7
  391. package/dist/lib/neutral/fetch-messages-AFX7ZAVE.mjs.map +0 -7
  392. package/dist/lib/neutral/get-context-57JQM4HZ.mjs.map +0 -7
  393. package/dist/lib/neutral/mock-2ARYZ54S.mjs +0 -556
  394. package/dist/lib/neutral/mock-2ARYZ54S.mjs.map +0 -7
  395. package/dist/lib/neutral/object-create-7QCGL56E.mjs.map +0 -7
  396. package/dist/lib/neutral/object-delete-KXBWC4Q4.mjs.map +0 -7
  397. package/dist/lib/neutral/object-update-B7RDX3JC.mjs.map +0 -7
  398. package/dist/lib/neutral/project-rules-NO3QVDZS.mjs.map +0 -7
  399. package/dist/lib/neutral/prompt-K5CIRXOD.mjs.map +0 -7
  400. package/dist/lib/neutral/qualifier-KSGP4CFL.mjs.map +0 -7
  401. package/dist/lib/neutral/query-FMGIPWJG.mjs.map +0 -7
  402. package/dist/lib/neutral/query-MN5B3MQF.mjs.map +0 -7
  403. package/dist/lib/neutral/query-blueprints-EKHEZAGD.mjs.map +0 -7
  404. package/dist/lib/neutral/read-JJN7YXHI.mjs +0 -19
  405. package/dist/lib/neutral/read-JJN7YXHI.mjs.map +0 -7
  406. package/dist/lib/neutral/relation-create-FSHBM5CJ.mjs.map +0 -7
  407. package/dist/lib/neutral/relation-delete-CYYQUIZY.mjs.map +0 -7
  408. package/dist/lib/neutral/research-7JQEX7MU.mjs +0 -109
  409. package/dist/lib/neutral/research-7JQEX7MU.mjs.map +0 -7
  410. package/dist/lib/neutral/save-ZWWNTBOD.mjs.map +0 -7
  411. package/dist/lib/neutral/schema-add-RVV364G6.mjs.map +0 -7
  412. package/dist/lib/neutral/schema-list-DVKEWYIU.mjs.map +0 -7
  413. package/dist/lib/neutral/sync-issues-BBAMXSZN.mjs.map +0 -7
  414. package/dist/lib/neutral/sync-triggers-6EXPBHIQ.mjs.map +0 -7
  415. package/dist/lib/neutral/tag-add-OUDUBR3E.mjs.map +0 -7
  416. package/dist/lib/neutral/tag-remove-DI3ZSLFK.mjs.map +0 -7
  417. package/dist/lib/neutral/update-J64AYUS5.mjs +0 -20
  418. package/dist/lib/neutral/update-J64AYUS5.mjs.map +0 -7
  419. package/dist/lib/neutral/update-blueprints-ZNWR7BBN.mjs.map +0 -7
  420. package/dist/lib/neutral/update-tasks-3YZ3YXIU.mjs.map +0 -7
  421. package/dist/types/src/blueprints/design/blueprint.d.ts +0 -4
  422. package/dist/types/src/blueprints/design/blueprint.d.ts.map +0 -1
  423. package/dist/types/src/blueprints/design/blueprint.test.d.ts +0 -2
  424. package/dist/types/src/blueprints/design/blueprint.test.d.ts.map +0 -1
  425. package/dist/types/src/blueprints/design/index.d.ts +0 -2
  426. package/dist/types/src/blueprints/design/index.d.ts.map +0 -1
  427. package/dist/types/src/blueprints/markdown/blueprint.d.ts +0 -4
  428. package/dist/types/src/blueprints/markdown/blueprint.d.ts.map +0 -1
  429. package/dist/types/src/blueprints/markdown/functions/create.d.ts +0 -8
  430. package/dist/types/src/blueprints/markdown/functions/create.d.ts.map +0 -1
  431. package/dist/types/src/blueprints/markdown/functions/definitions.d.ts +0 -45
  432. package/dist/types/src/blueprints/markdown/functions/definitions.d.ts.map +0 -1
  433. package/dist/types/src/blueprints/markdown/functions/index.d.ts +0 -4
  434. package/dist/types/src/blueprints/markdown/functions/index.d.ts.map +0 -1
  435. package/dist/types/src/blueprints/markdown/functions/read.d.ts +0 -17
  436. package/dist/types/src/blueprints/markdown/functions/read.d.ts.map +0 -1
  437. package/dist/types/src/blueprints/markdown/functions/update.d.ts +0 -16
  438. package/dist/types/src/blueprints/markdown/functions/update.d.ts.map +0 -1
  439. package/dist/types/src/blueprints/markdown/index.d.ts +0 -3
  440. package/dist/types/src/blueprints/markdown/index.d.ts.map +0 -1
  441. package/dist/types/src/blueprints/planning-old/blueprint.d.ts +0 -4
  442. package/dist/types/src/blueprints/planning-old/blueprint.d.ts.map +0 -1
  443. package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts +0 -2
  444. package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts.map +0 -1
  445. package/dist/types/src/blueprints/planning-old/functions/definitions.d.ts +0 -31
  446. package/dist/types/src/blueprints/planning-old/functions/definitions.d.ts.map +0 -1
  447. package/dist/types/src/blueprints/planning-old/functions/index.d.ts +0 -4
  448. package/dist/types/src/blueprints/planning-old/functions/index.d.ts.map +0 -1
  449. package/dist/types/src/blueprints/planning-old/functions/read.d.ts +0 -17
  450. package/dist/types/src/blueprints/planning-old/functions/read.d.ts.map +0 -1
  451. package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts +0 -74
  452. package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts.map +0 -1
  453. package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts +0 -2
  454. package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts.map +0 -1
  455. package/dist/types/src/blueprints/planning-old/functions/update.d.ts +0 -19
  456. package/dist/types/src/blueprints/planning-old/functions/update.d.ts.map +0 -1
  457. package/dist/types/src/blueprints/planning-old/index.d.ts +0 -3
  458. package/dist/types/src/blueprints/planning-old/index.d.ts.map +0 -1
  459. package/dist/types/src/blueprints/research/blueprint.d.ts +0 -4
  460. package/dist/types/src/blueprints/research/blueprint.d.ts.map +0 -1
  461. package/dist/types/src/blueprints/research/blueprint.test.d.ts +0 -2
  462. package/dist/types/src/blueprints/research/blueprint.test.d.ts.map +0 -1
  463. package/dist/types/src/blueprints/research/functions/definitions.d.ts +0 -21
  464. package/dist/types/src/blueprints/research/functions/definitions.d.ts.map +0 -1
  465. package/dist/types/src/blueprints/research/functions/document-create.d.ts +0 -12
  466. package/dist/types/src/blueprints/research/functions/document-create.d.ts.map +0 -1
  467. package/dist/types/src/blueprints/research/functions/index.d.ts +0 -4
  468. package/dist/types/src/blueprints/research/functions/index.d.ts.map +0 -1
  469. package/dist/types/src/blueprints/research/functions/research.d.ts +0 -18
  470. package/dist/types/src/blueprints/research/functions/research.d.ts.map +0 -1
  471. package/dist/types/src/blueprints/research/functions/research.test.d.ts +0 -2
  472. package/dist/types/src/blueprints/research/functions/research.test.d.ts.map +0 -1
  473. package/dist/types/src/blueprints/research/index.d.ts +0 -4
  474. package/dist/types/src/blueprints/research/index.d.ts.map +0 -1
  475. package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts +0 -24
  476. package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts.map +0 -1
  477. package/dist/types/src/blueprints/research/types/index.d.ts +0 -7
  478. package/dist/types/src/blueprints/research/types/index.d.ts.map +0 -1
  479. package/dist/types/src/functions/entity-extraction/definitions.d.ts +0 -182
  480. package/dist/types/src/functions/entity-extraction/definitions.d.ts.map +0 -1
  481. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +0 -4
  482. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +0 -1
  483. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts +0 -2
  484. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts.map +0 -1
  485. package/dist/types/src/functions/entity-extraction/index.d.ts +0 -4
  486. package/dist/types/src/functions/entity-extraction/index.d.ts.map +0 -1
  487. package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts +0 -38
  488. package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts.map +0 -1
  489. package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts +0 -37
  490. package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts.map +0 -1
  491. package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts +0 -58
  492. package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts.map +0 -1
  493. package/dist/types/src/functions/exa/data/index.d.ts +0 -3
  494. package/dist/types/src/functions/exa/data/index.d.ts.map +0 -1
  495. package/dist/types/src/functions/exa/definitions.d.ts +0 -9
  496. package/dist/types/src/functions/exa/definitions.d.ts.map +0 -1
  497. package/dist/types/src/functions/exa/exa.d.ts +0 -7
  498. package/dist/types/src/functions/exa/exa.d.ts.map +0 -1
  499. package/dist/types/src/functions/exa/index.d.ts +0 -4
  500. package/dist/types/src/functions/exa/index.d.ts.map +0 -1
  501. package/dist/types/src/functions/exa/mock.d.ts +0 -6
  502. package/dist/types/src/functions/exa/mock.d.ts.map +0 -1
  503. package/src/blueprints/browser/blueprint.conversations.json +0 -1
  504. package/src/blueprints/design/blueprint.test.ts +0 -97
  505. package/src/blueprints/design/blueprint.ts +0 -41
  506. package/src/blueprints/design/index.ts +0 -5
  507. package/src/blueprints/markdown/blueprint.ts +0 -36
  508. package/src/blueprints/markdown/functions/create.ts +0 -20
  509. package/src/blueprints/markdown/functions/definitions.ts +0 -80
  510. package/src/blueprints/markdown/functions/index.ts +0 -13
  511. package/src/blueprints/markdown/functions/read.ts +0 -22
  512. package/src/blueprints/markdown/functions/update.ts +0 -22
  513. package/src/blueprints/markdown/index.ts +0 -11
  514. package/src/blueprints/planning-old/blueprint.test.ts +0 -122
  515. package/src/blueprints/planning-old/blueprint.ts +0 -106
  516. package/src/blueprints/planning-old/functions/definitions.ts +0 -53
  517. package/src/blueprints/planning-old/functions/index.ts +0 -12
  518. package/src/blueprints/planning-old/functions/read.ts +0 -24
  519. package/src/blueprints/planning-old/functions/task-list.test.ts +0 -99
  520. package/src/blueprints/planning-old/functions/task-list.ts +0 -165
  521. package/src/blueprints/planning-old/functions/update.ts +0 -31
  522. package/src/blueprints/planning-old/index.ts +0 -6
  523. package/src/blueprints/research/blueprint.test.ts +0 -7
  524. package/src/blueprints/research/blueprint.ts +0 -61
  525. package/src/blueprints/research/functions/definitions.ts +0 -87
  526. package/src/blueprints/research/functions/document-create.ts +0 -50
  527. package/src/blueprints/research/functions/index.ts +0 -12
  528. package/src/blueprints/research/functions/research-instructions.tpl +0 -106
  529. package/src/blueprints/research/functions/research.conversations.json +0 -1
  530. package/src/blueprints/research/functions/research.test.ts +0 -150
  531. package/src/blueprints/research/functions/research.ts +0 -137
  532. package/src/blueprints/research/index.ts +0 -7
  533. package/src/blueprints/research/types/ResearchGraph.ts +0 -62
  534. package/src/blueprints/research/types/index.ts +0 -32
  535. package/src/functions/entity-extraction/definitions.ts +0 -44
  536. package/src/functions/entity-extraction/entity-extraction.conversations.json +0 -1
  537. package/src/functions/entity-extraction/entity-extraction.test.ts +0 -74
  538. package/src/functions/entity-extraction/entity-extraction.ts +0 -159
  539. package/src/functions/entity-extraction/index.ts +0 -9
  540. package/src/functions/exa/data/exa-search-1748337321991.ts +0 -131
  541. package/src/functions/exa/data/exa-search-1748337331526.ts +0 -144
  542. package/src/functions/exa/data/exa-search-1748337344119.ts +0 -133
  543. package/src/functions/exa/data/index.ts +0 -11
  544. package/src/functions/exa/definitions.ts +0 -37
  545. package/src/functions/exa/exa.ts +0 -32
  546. package/src/functions/exa/index.ts +0 -12
  547. package/src/functions/exa/mock.ts +0 -62
  548. /package/dist/lib/neutral/{project-3J3AJCJK.mjs.map → project-2YBPW5N7.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"complete_job","inputSchema":{"type":"object","required":[],"properties":{"success":{"$id":"/schemas/any","title":"any"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [complete_job] with the output.\nIf you are unable to complete the task, call [complete_job] with the failure reason.\nIf no output is required, call [complete_job] with { \"success\": \"undefined\" }\nDo not stop until you call [complete_job].","options":{}},{"role":"user","content":"Reply with a single word: ack.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_014G3bk87y7g2fNyaujvQheS","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me to reply with a single word: \"ack.\"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvABClkIDBgCKkCxzNnjQUj3DQa9gtQiD30evyfzcsyUhLdAoDb2a/dAiNjKaWlH1vpX29INRDACdAdhUnywLNGy6UdJhDSVKdlUMg9jbGF1ZGUtb3B1cy00LTY4ABIM43km5bTnPr0GAV65GgyMUTayJlomMHB92d8iMNFhdhyYL53meBFi8d5yOdTPcdRIr0XaXzPccyf1zC3OUO1UdmUfukZDRLijHLAkuCpFSdbuum5+7QiCkc9RzYY0W0A3LwRqeChW9EKez2Eb182TWTXz8JhITZMBz3sjkk36Dbta0RfZ51O4D4f3vgBGO6To4QtYGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","name":"complete_job","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","delta":"{\"suc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","delta":"cess\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","delta":"ack\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":782,"outputTokens":77,"totalTokens":859},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":782,"output_tokens":3,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"complete_job","inputSchema":{"type":"object","required":[],"properties":{"success":{"$id":"/schemas/any","title":"any"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [complete_job] with the output.\nIf you are unable to complete the task, call [complete_job] with the failure reason.\nIf no output is required, call [complete_job] with { \"success\": \"undefined\" }\nDo not stop until you call [complete_job].","options":{}},{"role":"user","content":"Reply with a single word: ack.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to reply with a single word: \"ack.\"","options":{}},{"type":"tool-call","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","name":"complete_job","params":{"success":"ack"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01JhVz7FLyLNhNaaSf58f2jm","name":"complete_job","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01JdVKgMCzWis4ZgNFCPo6qr","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":820,"outputTokens":2,"totalTokens":822},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":820,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
1
+ {"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"$id":"/schemas/any","title":"any"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01BJnJPY3oMFLFRKBzfm18k4","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to reply with a single word: \"ack\".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvABClkIDRgCKkDoETBa+lesagv7ixB9LGrYHpBYfS/DCnRnegAetRGGWDl0kkFyqVQI7oDc+ZWbyk9tB+4ePqoqNXQXwE3240/HMg9jbGF1ZGUtb3B1cy00LTY4ABIMZ4jEaKNKFseHE6SGGgxDCMKKPXa0JrDQ52ciMG+cUvHgNQwSWMWlYEBfsVvvwZnDif1WmjybXm26QJIGtpnF/4kQQkk8Re1W0OPoYCpFYVSQgk56gj+oWRLRn8FgcWrdoxhpuw6BVArd0/EEeXi78h9AJPLa7BN30HyfNmAOQ5LiuW8fznNPRzCv1yHLrjw4IE+GGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01N1FCMswXa62WFdsMrbu4Kv","name":"completeJob","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01N1FCMswXa62WFdsMrbu4Kv","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N1FCMswXa62WFdsMrbu4Kv","delta":"{\"success\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N1FCMswXa62WFdsMrbu4Kv","delta":"\"ack\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01N1FCMswXa62WFdsMrbu4Kv","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":757,"outputTokens":85,"totalTokens":842},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":757,"output_tokens":60,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"$id":"/schemas/any","title":"any"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to reply with a single word: \"ack\".","options":{}},{"type":"tool-call","id":"toolu_01N1FCMswXa62WFdsMrbu4Kv","name":"completeJob","params":{"success":"ack"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01N1FCMswXa62WFdsMrbu4Kv","name":"completeJob","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01XmKNsc4F8Re8N5UEDdxcjp","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":824,"outputTokens":2,"totalTokens":826},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":824,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
@@ -6,13 +6,12 @@ import { describe, expect, it } from '@effect/vitest';
6
6
  import * as Effect from 'effect/Effect';
7
7
 
8
8
  import { ContextBinding } from '@dxos/assistant';
9
- import { AssistantTestLayer } from '@dxos/assistant/testing';
10
- import { Prompt } from '@dxos/blueprints';
9
+ import { Routine, Operation, OperationHandlerSet } from '@dxos/compute';
11
10
  import { Database, Feed, Obj, Ref } from '@dxos/echo';
12
11
  import { TestHelpers } from '@dxos/effect/testing';
13
- import { FunctionInvocationService, QueueService } from '@dxos/functions';
12
+ import { QueueService } from '@dxos/functions';
13
+ import { AssistantTestLayer } from '@dxos/functions-runtime/testing';
14
14
  import { ObjectId } from '@dxos/keys';
15
- import { OperationHandlerSet } from '@dxos/operation';
16
15
  import { Text } from '@dxos/schema';
17
16
  import { Message } from '@dxos/types';
18
17
 
@@ -53,7 +52,7 @@ describe('Agent prompt', () => {
53
52
  );
54
53
 
55
54
  const prompt = yield* Database.add(
56
- Prompt.make({
55
+ Routine.make({
57
56
  name: 'chat-mode-test',
58
57
  instructions: 'Reply with a single word: ack.',
59
58
  blueprints: [],
@@ -63,7 +62,7 @@ describe('Agent prompt', () => {
63
62
 
64
63
  yield* Database.flush();
65
64
 
66
- const result = yield* FunctionInvocationService.invokeFunction(AgentPrompt, {
65
+ const result = yield* Operation.invoke(AgentPrompt, {
67
66
  prompt: Ref.make(prompt),
68
67
  input: {},
69
68
  chat: Ref.make(chat),
@@ -12,22 +12,18 @@ import * as Layer from 'effect/Layer';
12
12
  import * as Option from 'effect/Option';
13
13
  import * as Schema from 'effect/Schema';
14
14
 
15
- import { AiService, ConsolePrinter, GenericToolkit, ModelName } from '@dxos/ai';
15
+ import { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';
16
16
  import {
17
- AiConversation,
18
- GenerationObserver,
19
- functionInvocationServiceFromOperations,
17
+ AiSession,
20
18
  getOperationFromTool,
21
19
  makeToolExecutionService,
22
20
  makeToolResolverFromOperations,
23
21
  } from '@dxos/assistant';
24
- import { Template } from '@dxos/blueprints';
22
+ import { Template, Trace, Operation } from '@dxos/compute';
25
23
  import { Database, Feed, Obj, Ref } from '@dxos/echo';
26
24
  import { acquireReleaseResource } from '@dxos/effect';
27
- import { TracingService } from '@dxos/functions';
28
25
  import { invariant } from '@dxos/invariant';
29
26
  import { log } from '@dxos/log';
30
- import { Operation } from '@dxos/operation';
31
27
  import { trim } from '@dxos/util';
32
28
 
33
29
  import { PromptError } from '../../errors';
@@ -36,8 +32,6 @@ import { AgentPrompt } from './definitions';
36
32
 
37
33
  const DEFAULT_MODEL: ModelName = '@anthropic/claude-opus-4-6';
38
34
 
39
- const observer = GenerationObserver.fromPrinter(new ConsolePrinter({ tag: 'agent' }));
40
-
41
35
  export default AgentPrompt.pipe(
42
36
  Operation.withHandler(
43
37
  Effect.fnUntraced(
@@ -50,7 +44,7 @@ export default AgentPrompt.pipe(
50
44
 
51
45
  yield* Database.flush();
52
46
  const prompt = yield* Database.load(data.prompt);
53
- yield* TracingService.emitStatus({ message: `Running ${prompt.id}` });
47
+ yield* Trace.emitStatus(`Running ${prompt.id}`);
54
48
 
55
49
  log.info('starting agent', { prompt: prompt.id, input });
56
50
 
@@ -69,16 +63,20 @@ export default AgentPrompt.pipe(
69
63
  );
70
64
 
71
65
  const promptInstructions = yield* Database.load(prompt.instructions.source);
72
- const promptText = Template.process(promptInstructions.content, input);
66
+ let promptText = Template.process(promptInstructions.content, input);
67
+
68
+ if (input !== undefined) {
69
+ promptText += `\n<input>${JSON.stringify(input)}</input>`;
70
+ }
73
71
 
74
72
  let systemText = trim`
75
73
  You are an agent running in the non-interactive mode.
76
74
  The user is unable to see what you are doing, and cannot answer any questions.
77
75
  Do not ask questions.
78
- Complete the task before you, and at the end call [complete_job] with the output.
79
- If you are unable to complete the task, call [complete_job] with the failure reason.
80
- If no output is required, call [complete_job] with { "success": "undefined" }
81
- Do not stop until you call [complete_job].
76
+ Complete the task before you, and at the end call [completeJob] with the output.
77
+ If you are unable to complete the task, call [completeJob] with the failure reason.
78
+ If no output is required, call [completeJob] with an empty object: {}
79
+ Do not stop until you call [completeJob].
82
80
  `;
83
81
  if (data.systemInstructions) {
84
82
  systemText += `\n\n${data.systemInstructions}`;
@@ -102,53 +100,57 @@ export default AgentPrompt.pipe(
102
100
  });
103
101
 
104
102
  const runtime = yield* Effect.runtime<Feed.FeedService>();
105
- const conversation = yield* acquireReleaseResource(() => new AiConversation({ feed, runtime }));
103
+ const session = yield* acquireReleaseResource(() => new AiSession({ feed, runtime }));
106
104
 
107
105
  yield* Effect.promise(() =>
108
- conversation.context.bind({
106
+ session.context.bind({
109
107
  blueprints: blueprints.map((blueprint) => Ref.make(blueprint)),
110
108
  objects: objects.map((object) => Ref.make(object as Obj.Unknown)),
111
109
  }),
112
110
  );
113
111
 
114
- yield* conversation
112
+ yield* session
115
113
  .createRequest({
116
114
  prompt: promptText,
117
115
  system: systemText,
118
- observer,
119
- toolkit: promptToolkit.toolkit,
116
+ toolkit: promptToolkit,
120
117
  })
121
118
  .pipe(
122
119
  Effect.provide(
123
- Layer.mergeAll(
124
- modelLayer,
125
- promptToolkit.layer,
126
- ToolExecutionService({ feed }),
127
- makeToolResolverFromOperations(),
128
- ),
120
+ Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),
129
121
  ),
130
122
  );
131
123
 
132
124
  return yield* Deferred.poll(resultSink).pipe(
133
125
  Effect.flatten,
134
- Effect.catchTag('NoSuchElementException', () => Effect.die('Agent did not signal task completion.')),
135
126
  Effect.flatten,
136
- Effect.mapError(
137
- (err) =>
138
- new PromptError(err.message ?? 'Agent failed with an unknown error.', {
139
- description: err.context.description as string | undefined,
140
- prompt: data.prompt.dxn.toString(),
141
- }),
127
+ Effect.catchTag('NoSuchElementException', () =>
128
+ Effect.gen(function* () {
129
+ yield* session
130
+ .createRequest({
131
+ prompt: 'You must signal task completion by calling [completeJob] with the output or failure reason.',
132
+ system: systemText,
133
+ toolkit: promptToolkit,
134
+ })
135
+ .pipe(
136
+ Effect.provide(
137
+ Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),
138
+ ),
139
+ );
140
+
141
+ return yield* Deferred.poll(resultSink).pipe(
142
+ Effect.flatten,
143
+ Effect.flatten,
144
+ Effect.catchTag('NoSuchElementException', () =>
145
+ Effect.fail(new PromptError('Agent did not signal task completion.', {})),
146
+ ),
147
+ );
148
+ }),
142
149
  ),
143
150
  );
144
151
  },
145
152
  Effect.scoped,
146
- Effect.provide(
147
- Layer.empty.pipe(
148
- Layer.provideMerge(functionInvocationServiceFromOperations),
149
- Layer.provideMerge(TracingService.layerNoop),
150
- ),
151
- ),
153
+ Effect.provide(Trace.writerLayerNoop),
152
154
  ),
153
155
  ),
154
156
  Operation.opaqueHandler,
@@ -159,7 +161,7 @@ const makePromptAgentToolkit = (options: {
159
161
  resultSink: Deferred.Deferred<unknown, PromptError>;
160
162
  }) => {
161
163
  class PromptAgentToolkit extends Toolkit.make(
162
- Tool.make('complete_job', {
164
+ Tool.make('completeJob', {
163
165
  parameters: {
164
166
  success: Schema.optional(Schema.Any), // TODO(dmaretskyi): Pipe output schema here.
165
167
  failure: Schema.optional(
@@ -176,7 +178,7 @@ const makePromptAgentToolkit = (options: {
176
178
  }),
177
179
  ) {}
178
180
  const layer = PromptAgentToolkit.toLayer({
179
- complete_job: Effect.fnUntraced(function* (result) {
181
+ completeJob: Effect.fnUntraced(function* (result) {
180
182
  if (result.failure) {
181
183
  yield* Deferred.fail(
182
184
  options.resultSink,
@@ -190,7 +192,7 @@ const makePromptAgentToolkit = (options: {
190
192
  }),
191
193
  });
192
194
 
193
- return GenericToolkit.make(PromptAgentToolkit, layer);
195
+ return OpaqueToolkit.make(PromptAgentToolkit, layer);
194
196
  };
195
197
 
196
198
  interface ToolExecutionServiceOptions {
@@ -3,5 +3,3 @@
3
3
  //
4
4
 
5
5
  export * from './agent';
6
- export * from './entity-extraction';
7
- export * from './exa';
package/src/sync/sync.ts CHANGED
@@ -29,10 +29,16 @@ export const syncObjects: (
29
29
  Effect.fnUntraced(function* (obj) {
30
30
  // Sync referenced objects.
31
31
  for (const key of Object.keys(obj)) {
32
- if (typeof key !== 'string' || key === 'id') continue;
33
- if (!Ref.isRef((obj as any)[key])) continue;
32
+ if (typeof key !== 'string' || key === 'id') {
33
+ continue;
34
+ }
35
+ if (!Ref.isRef((obj as any)[key])) {
36
+ continue;
37
+ }
34
38
  const ref: Ref.Unknown = (obj as any)[key];
35
- if (!ref.target) continue;
39
+ if (!ref.target) {
40
+ continue;
41
+ }
36
42
  if (Obj.getDXN(ref.target).isLocalObjectId()) {
37
43
  // obj not persisted to db.
38
44
  const [target] = yield* syncObjects([ref.target], { foreignKeyId });
@@ -63,23 +69,28 @@ export const syncObjects: (
63
69
  });
64
70
 
65
71
  const copyObjectData = (existing: Obj.Unknown, newObj: Obj.Unknown) => {
66
- Obj.change(existing, (existing) => {
72
+ Obj.update(existing, (existing) => {
67
73
  // Copy properties from newObj to existing.
68
74
  for (const key of Object.keys(newObj)) {
69
- if (typeof key !== 'string' || key === 'id') continue;
75
+ if (typeof key !== 'string' || key === 'id') {
76
+ continue;
77
+ }
70
78
  if (
71
79
  typeof (newObj as any)[key] !== 'string' &&
72
80
  typeof (newObj as any)[key] !== 'number' &&
73
81
  typeof (newObj as any)[key] !== 'boolean' &&
74
82
  !Ref.isRef((newObj as any)[key])
75
- )
83
+ ) {
76
84
  continue;
85
+ }
77
86
  (existing as any)[key] = (newObj as any)[key];
78
87
  }
79
88
 
80
89
  // Delete properties that don't exist in newObj.
81
90
  for (const key of Object.keys(existing)) {
82
- if (typeof key !== 'string' || key === 'id') continue;
91
+ if (typeof key !== 'string' || key === 'id') {
92
+ continue;
93
+ }
83
94
  if (!(key in newObj)) {
84
95
  delete (existing as any)[key];
85
96
  }
@@ -9,7 +9,7 @@ import { Capabilities, Capability } from '@dxos/app-framework';
9
9
  import { Surface } from '@dxos/app-framework/ui';
10
10
  import { Format, type Obj, Type } from '@dxos/echo';
11
11
  import { Card } from '@dxos/react-ui';
12
- import { Json } from '@dxos/react-ui-syntax-highlighter';
12
+ import { Syntax } from '@dxos/react-ui-syntax-highlighter';
13
13
 
14
14
  export const MapSchema = Schema.Struct({
15
15
  coordinates: Format.GeoPoint,
@@ -64,12 +64,14 @@ export const capabilities: Capability.Any[] = [
64
64
  position: 'fallback',
65
65
  component: ({ data }) => (
66
66
  <Card.Content>
67
- <Json.Root data={data}>
68
- <Json.Content>
69
- <Json.Filter />
70
- <Json.Data />
71
- </Json.Content>
72
- </Json.Root>
67
+ <Syntax.Root data={data}>
68
+ <Syntax.Content>
69
+ <Syntax.Filter />
70
+ <Syntax.Viewport>
71
+ <Syntax.Code />
72
+ </Syntax.Viewport>
73
+ </Syntax.Content>
74
+ </Syntax.Root>
73
75
  </Card.Content>
74
76
  ),
75
77
  }),
@@ -9,8 +9,8 @@ import * as Function from 'effect/Function';
9
9
  import * as Schema from 'effect/Schema';
10
10
 
11
11
  import { AiContextBinder, AiContextService } from '@dxos/assistant';
12
- import { type Blueprint } from '@dxos/blueprints';
13
- import { Annotation, Database, Feed, Obj, Ref, Relation, Type } from '@dxos/echo';
12
+ import { type Blueprint } from '@dxos/compute';
13
+ import { Annotation, Database, Feed, Format, Obj, Ref, Relation, Type } from '@dxos/echo';
14
14
  import { Queue } from '@dxos/echo-db';
15
15
  import { type ObjectNotFoundError } from '@dxos/echo/Err';
16
16
  import { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';
@@ -28,31 +28,49 @@ import * as Plan from './Plan';
28
28
  export const Agent = Schema.Struct({
29
29
  name: Schema.optional(Schema.String),
30
30
 
31
+ /**
32
+ * When false, agent triggers are disabled after sync-triggers runs.
33
+ */
34
+ enabled: Schema.optional(Schema.Boolean).annotations({
35
+ title: 'Enabled',
36
+ description: 'Master switch for agent automation; propagated to all triggers on sync.',
37
+ }),
38
+
31
39
  /**
32
40
  * Instructions for the agent.
33
41
  */
34
- // TODO(burdon): Rename instructions.
35
- spec: Ref.Ref(Text.Text).pipe(FormInputAnnotation.set(false)),
42
+ instructions: Ref.Ref(Text.Text).pipe(
43
+ Format.FormatAnnotation.set(Format.TypeFormat.Markdown),
44
+ Schema.annotations({ title: 'Instructions' }),
45
+ ),
36
46
 
47
+ /**
48
+ * Primary chat for the agent.
49
+ */
50
+ // TODO(dmaretskyi): Multiple chats; RB: branching hierarchy.
51
+ chat: Schema.optional(Ref.Ref(Chat.Chat).pipe(FormInputAnnotation.set(false))),
52
+
53
+ // TODO(burdon): Is this used? Should it be an artifact?
54
+ // Format.FormatAnnotation.set(Format.TypeFormat.Markdown)
37
55
  plan: Ref.Ref(Plan.Plan).pipe(FormInputAnnotation.set(false)),
38
56
 
57
+ // TODO(burdon): Currently Memory.Memory objects are global to the space; make them artifacts?
39
58
  artifacts: Schema.Array(
40
59
  Schema.Struct({
41
60
  // TODO(dmaretskyi): Consider gettings names from the artifact itself using Obj.getLabel.
42
61
  name: Schema.String,
62
+ // TODO(burdon): Rename object.
43
63
  data: Ref.Ref(Obj.Unknown),
44
64
  }),
45
65
  ).pipe(FormInputAnnotation.set(false)),
46
66
 
47
67
  /**
48
- * Incoming queue that the agent processes.
68
+ * Input feed for subscriptions.
49
69
  */
70
+ // TODO(burdon): Rename to Feed?
50
71
  // NOTE: Named `queue` to conform to subscribable schema (see QueueAnnotation).
51
72
  queue: Schema.optional(Ref.Ref(Queue).pipe(FormInputAnnotation.set(false))),
52
73
 
53
- // TODO(dmaretskyi): Multiple chats.
54
- chat: Schema.optional(Ref.Ref(Chat.Chat).pipe(FormInputAnnotation.set(false))),
55
-
56
74
  /**
57
75
  * References to objects with a canonical queue property.
58
76
  * Schema must have the QueueAnnotation.
@@ -60,11 +78,23 @@ export const Agent = Schema.Struct({
60
78
  // TODO(dmaretskyi): Turn into an array of objects when form-data
61
79
  subscriptions: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(FormInputAnnotation.set(false)),
62
80
 
63
- // TODO(burdon): Rename. Explain what a "qualifying agent" is.
64
- useQualifyingAgent: Schema.optional(Schema.Boolean).annotations({
65
- title: 'Use qualifying agent',
66
- description:
67
- 'The qualifying agent determines if the event is relevant to the agent. Related events will be added to the input queue of the agent. It is recommended to enable this.',
81
+ /**
82
+ * Allow the agent to filter events.
83
+ * Related events will be added to the input queue of the agent.
84
+ * It is recommended to enable this.
85
+ */
86
+ filterEvents: Schema.optional(Schema.Boolean).annotations({
87
+ title: 'Filter events',
88
+ description: 'Allow the agent to filter events.',
89
+ }),
90
+
91
+ /**
92
+ * Cron expression for a timer trigger that invokes the agent worker on a schedule.
93
+ * The timer trigger bypasses the qualifier and goes straight to the agent worker.
94
+ */
95
+ cron: Schema.optional(Schema.String).annotations({
96
+ title: 'Cron',
97
+ description: 'Cron expression for a timer trigger that invokes the agent on a schedule.',
68
98
  }),
69
99
  }).pipe(
70
100
  Type.object({
@@ -72,11 +102,11 @@ export const Agent = Schema.Struct({
72
102
  version: '0.1.0',
73
103
  }),
74
104
  LabelAnnotation.set(['name']),
105
+ QueueAnnotation.set(true),
75
106
  Annotation.IconAnnotation.set({
76
107
  icon: 'ph--drone--regular',
77
108
  hue: 'sky',
78
109
  }),
79
- QueueAnnotation.set(true),
80
110
  );
81
111
 
82
112
  export interface Agent extends Schema.Schema.Type<typeof Agent> {}
@@ -89,9 +119,9 @@ export interface Agent extends Schema.Schema.Type<typeof Agent> {}
89
119
  * @returns An Effect that yields the initialized Agent.
90
120
  */
91
121
  export const makeInitialized = (
92
- props: Omit<Obj.MakeProps<typeof Agent>, 'spec' | 'plan' | 'artifacts' | 'subscriptions' | 'chat'> &
122
+ props: Omit<Obj.MakeProps<typeof Agent>, 'instructions' | 'plan' | 'artifacts' | 'subscriptions' | 'chat'> &
93
123
  Partial<Pick<Obj.MakeProps<typeof Agent>, 'artifacts' | 'subscriptions'>> & {
94
- spec: string;
124
+ instructions: string;
95
125
  blueprints?: Ref.Ref<Blueprint.Blueprint>[];
96
126
  contextObjects?: Ref.Ref<Obj.Any>[];
97
127
  },
@@ -100,11 +130,12 @@ export const makeInitialized = (
100
130
  Effect.gen(function* () {
101
131
  const agent = Obj.make(Agent, {
102
132
  ...props,
103
- spec: Ref.make(Text.make(props.spec)),
133
+ instructions: Ref.make(Text.make(props.instructions)),
104
134
  plan: Ref.make(Plan.makePlan({ tasks: [] })),
105
135
  artifacts: props.artifacts ?? [],
106
136
  subscriptions: props.subscriptions ?? [],
107
- useQualifyingAgent: props.useQualifyingAgent ?? true,
137
+ filterEvents: props.filterEvents ?? true,
138
+ enabled: props.enabled ?? true,
108
139
  });
109
140
  yield* Database.add(agent);
110
141
  const feed = yield* Database.add(Feed.make());
@@ -134,7 +165,7 @@ export const makeInitialized = (
134
165
 
135
166
  const inputQueue = yield* QueueService.createQueue();
136
167
 
137
- Obj.change(agent, (agent) => {
168
+ Obj.update(agent, (agent) => {
138
169
  agent.chat = Ref.make(chat);
139
170
  agent.queue = Ref.fromDXN(inputQueue.dxn);
140
171
  });
@@ -185,7 +216,7 @@ export const resetChatHistory = (
185
216
  }),
186
217
  );
187
218
  Obj.setParent(feed, chat);
188
- Obj.change(agent, (agent) => {
219
+ Obj.update(agent, (agent) => {
189
220
  agent.chat = Ref.make(chat);
190
221
  });
191
222
 
package/src/types/Chat.ts CHANGED
@@ -15,6 +15,7 @@ import { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';
15
15
  export const Chat = Schema.Struct({
16
16
  name: Schema.String.pipe(Schema.optional),
17
17
  feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),
18
+ view: Schema.String.pipe(Schema.optional),
18
19
  }).pipe(
19
20
  Type.object({
20
21
  typename: 'org.dxos.type.assistant.chat',
@@ -0,0 +1,37 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import * as Schema from 'effect/Schema';
8
+
9
+ import { Annotation, Type } from '@dxos/echo';
10
+ import { LabelAnnotation } from '@dxos/echo/internal';
11
+
12
+ /**
13
+ * MCP server configuration stored as a space-level ECHO object.
14
+ *
15
+ * NOTE: `apiKey` is stored in plaintext and replicated to all peers with access to the space.
16
+ * A future iteration should move secrets to per-device credential storage or use envelope encryption.
17
+ */
18
+ export const McpServer = Schema.Struct({
19
+ name: Schema.String,
20
+ url: Schema.String,
21
+ protocol: Schema.Union(Schema.Literal('sse'), Schema.Literal('http')),
22
+ /** Stored in plaintext; replicated to all peers in the space. */
23
+ apiKey: Schema.optional(Schema.String),
24
+ enabled: Schema.optional(Schema.Boolean),
25
+ }).pipe(
26
+ Type.object({
27
+ typename: 'org.dxos.type.assistant.mcpServer',
28
+ version: '0.1.0',
29
+ }),
30
+ LabelAnnotation.set(['name']),
31
+ Annotation.IconAnnotation.set({
32
+ icon: 'ph--plugs-connected--regular',
33
+ hue: 'sky',
34
+ }),
35
+ );
36
+
37
+ export interface McpServer extends Schema.Schema.Type<typeof McpServer> {}
@@ -13,11 +13,12 @@ export const Memory = Schema.Struct({
13
13
  title: Schema.String,
14
14
  content: Schema.String,
15
15
  }).pipe(
16
- Type.object({ typename: 'dxos.org/type/Memory', version: '0.1.0' }),
16
+ Type.object({ typename: 'org.dxos.type.memory', version: '0.1.0' }),
17
17
  Annotation.LabelAnnotation.set(['title']),
18
18
  Annotation.IconAnnotation.set({
19
19
  icon: 'ph--brain--regular',
20
20
  hue: 'pink',
21
21
  }),
22
22
  );
23
+
23
24
  export interface Memory extends Schema.Schema.Type<typeof Memory> {}
package/src/types/Plan.ts CHANGED
@@ -72,7 +72,7 @@ export const generateTaskId = (plan: Plan): TaskId => {
72
72
 
73
73
  /**
74
74
  * Add new tasks to a plan, generating IDs for new tasks.
75
- * Use inside an `Obj.change` callback.
75
+ * Use inside an `Obj.update` callback.
76
76
  */
77
77
  export const addTasks = (
78
78
  plan: Obj.Mutable<Plan>,
@@ -94,7 +94,7 @@ interface MakePlanProps {
94
94
 
95
95
  export const makePlan = (props: MakePlanProps): Plan => {
96
96
  const plan = Obj.make(Plan, { tasks: [] });
97
- Obj.change(plan, (plan) => {
97
+ Obj.update(plan, (plan) => {
98
98
  addTasks(plan, props.tasks);
99
99
  });
100
100
  return plan;
@@ -4,5 +4,6 @@
4
4
 
5
5
  export * as Chat from './Chat';
6
6
  export * as Agent from './Agent';
7
+ export * as McpServer from './McpServer';
7
8
  export * as Plan from './Plan';
8
9
  export * as Memory from './Memory';
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/blueprints/project/functions/add-artifact.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Database, Obj } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { Agent } from '../../../types';\nimport { AddArtifact } from './definitions';\n\nexport default AddArtifact.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ name, artifact }) {\n if (!(yield* Database.load(artifact))) {\n throw new Error('Artifact not found.');\n }\n\n const agent = yield* Agent.getFromChatContext;\n\n Obj.change(agent, (agent) => {\n agent.artifacts.push({\n name,\n data: artifact,\n });\n });\n }) as any,\n ),\n);\n"],
5
- "mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,UAAUC,WAAW;AAC9B,SAASC,iBAAiB;AAK1B,IAAA,uBAAeC,YAAYC,KACzBC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,MAAMC,SAAQ,GAAE;AAC7C,MAAI,EAAE,OAAOC,SAASC,KAAKF,QAAAA,IAAY;AACrC,UAAM,IAAIG,MAAM,qBAAA;EAClB;AAEA,QAAMC,QAAQ,OAAOC,cAAMC;AAE3BC,MAAIC,OAAOJ,OAAO,CAACA,WAAAA;AACjBA,IAAAA,OAAMK,UAAUC,KAAK;MACnBX;MACAY,MAAMX;IACR,CAAA;EACF,CAAA;AACF,CAAA,CAAA,CAAA;",
6
- "names": ["Effect", "Database", "Obj", "Operation", "AddArtifact", "pipe", "Operation", "withHandler", "fnUntraced", "name", "artifact", "Database", "load", "Error", "agent", "Agent", "getFromChatContext", "Obj", "change", "artifacts", "push", "data"]
7
- }