@dxos/assistant-toolkit 0.8.4-main.dfabb4ec29 → 0.8.4-main.effb148878

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 (258) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/neutral/{add-artifact-ZUJ5DMSY.mjs → add-artifact-ZKSSMPLY.mjs} +6 -6
  3. package/dist/lib/neutral/{add-artifact-ZUJ5DMSY.mjs.map → add-artifact-ZKSSMPLY.mjs.map} +3 -3
  4. package/dist/lib/neutral/{agent-5NIKAYUK.mjs → agent-UIASE5LZ.mjs} +7 -7
  5. package/dist/lib/neutral/{agent-5NIKAYUK.mjs.map → agent-UIASE5LZ.mjs.map} +2 -2
  6. package/dist/lib/neutral/chunk-AF5TWFLV.mjs +66 -0
  7. package/dist/lib/neutral/chunk-AF5TWFLV.mjs.map +7 -0
  8. package/dist/lib/neutral/{chunk-P4ZMYO4K.mjs → chunk-CMHECL6N.mjs} +21 -33
  9. package/dist/lib/neutral/chunk-CMHECL6N.mjs.map +7 -0
  10. package/dist/lib/neutral/{chunk-ZFXLTBZG.mjs → chunk-DC5KITJP.mjs} +3 -2
  11. package/dist/lib/neutral/chunk-DC5KITJP.mjs.map +7 -0
  12. package/dist/lib/neutral/{chunk-WLR3BGO4.mjs → chunk-EUHZLWCG.mjs} +2 -1
  13. package/dist/lib/neutral/chunk-EUHZLWCG.mjs.map +7 -0
  14. package/dist/lib/neutral/{chunk-IKBIORQX.mjs → chunk-EUTROPCP.mjs} +22 -9
  15. package/dist/lib/neutral/chunk-EUTROPCP.mjs.map +7 -0
  16. package/dist/lib/neutral/{chunk-GV66MKAQ.mjs → chunk-FNN6ERC6.mjs} +4 -3
  17. package/dist/lib/neutral/chunk-FNN6ERC6.mjs.map +7 -0
  18. package/dist/lib/neutral/{chunk-246ACKSH.mjs → chunk-GEMRKH7J.mjs} +15 -12
  19. package/dist/lib/neutral/chunk-GEMRKH7J.mjs.map +7 -0
  20. package/dist/lib/neutral/{chunk-EJAQUAKM.mjs → chunk-GHGJCH73.mjs} +8 -5
  21. package/dist/lib/neutral/chunk-GHGJCH73.mjs.map +7 -0
  22. package/dist/lib/neutral/{chunk-KGU725LW.mjs → chunk-LO2S3ICN.mjs} +4 -7
  23. package/dist/lib/neutral/chunk-LO2S3ICN.mjs.map +7 -0
  24. package/dist/lib/neutral/{chunk-TO5IX24K.mjs → chunk-MMIERIDT.mjs} +12 -9
  25. package/dist/lib/neutral/chunk-MMIERIDT.mjs.map +7 -0
  26. package/dist/lib/neutral/{chunk-NR3GTWRC.mjs → chunk-OC77MYT5.mjs} +8 -13
  27. package/dist/lib/neutral/chunk-OC77MYT5.mjs.map +7 -0
  28. package/dist/lib/neutral/{chunk-ROMZO4CB.mjs → chunk-ONQXVECY.mjs} +11 -9
  29. package/dist/lib/neutral/chunk-ONQXVECY.mjs.map +7 -0
  30. package/dist/lib/neutral/{chunk-QO5SU37C.mjs → chunk-PAEPER4S.mjs} +3 -3
  31. package/dist/lib/neutral/{chunk-XUF53B6B.mjs → chunk-RIF2TKJJ.mjs} +10 -9
  32. package/dist/lib/neutral/chunk-RIF2TKJJ.mjs.map +7 -0
  33. package/dist/lib/neutral/{context-add-VB7AOY3G.mjs → context-add-VNJUVPSY.mjs} +4 -4
  34. package/dist/lib/neutral/context-add-VNJUVPSY.mjs.map +7 -0
  35. package/dist/lib/neutral/{context-remove-VCM3VPSO.mjs → context-remove-ZASL7ABZ.mjs} +4 -4
  36. package/dist/lib/neutral/context-remove-ZASL7ABZ.mjs.map +7 -0
  37. package/dist/lib/neutral/{create-project-EIF4OJMY.mjs → create-project-VNC2KKBG.mjs} +7 -7
  38. package/dist/lib/neutral/{delete-J3PMWP7Z.mjs → delete-NLBJMMBJ.mjs} +3 -3
  39. package/dist/lib/neutral/{enable-blueprints-LBDZH2CY.mjs → enable-blueprints-SMGQ2WCU.mjs} +4 -4
  40. package/dist/lib/neutral/enable-blueprints-SMGQ2WCU.mjs.map +7 -0
  41. package/dist/lib/neutral/{fetch-KHMHV7JR.mjs → fetch-VV3DU75K.mjs} +2 -2
  42. package/dist/lib/neutral/{fetch-messages-QOBBCTGC.mjs → fetch-messages-YXH77S3S.mjs} +2 -2
  43. package/dist/lib/neutral/{get-context-TN7X7U2H.mjs → get-context-LG2CNVII.mjs} +7 -7
  44. package/dist/lib/neutral/{get-context-TN7X7U2H.mjs.map → get-context-LG2CNVII.mjs.map} +3 -3
  45. package/dist/lib/neutral/index.mjs +84 -85
  46. package/dist/lib/neutral/index.mjs.map +3 -3
  47. package/dist/lib/neutral/{load-ALP3TK2E.mjs → load-K7HEJA54.mjs} +2 -2
  48. package/dist/lib/neutral/meta.json +1 -1
  49. package/dist/lib/neutral/{object-create-Z57Y3X6Y.mjs → object-create-EN6PJN3L.mjs} +4 -4
  50. package/dist/lib/neutral/{object-create-Z57Y3X6Y.mjs.map → object-create-EN6PJN3L.mjs.map} +2 -2
  51. package/dist/lib/neutral/{object-delete-X53LS37B.mjs → object-delete-RMA5ZKGY.mjs} +2 -2
  52. package/dist/lib/neutral/{object-update-GVKSBR7T.mjs → object-update-JW5PLR2T.mjs} +3 -3
  53. package/dist/lib/neutral/{object-update-GVKSBR7T.mjs.map → object-update-JW5PLR2T.mjs.map} +2 -2
  54. package/dist/lib/neutral/{project-HPHTZ2CI.mjs → project-OGO5ABSZ.mjs} +6 -6
  55. package/dist/lib/neutral/{project-rules-IVDHKSKI.mjs → project-rules-IVA3DSOW.mjs} +5 -5
  56. package/dist/lib/neutral/{prompt-Y7NN7M5D.mjs → prompt-YVFNLD7U.mjs} +5 -5
  57. package/dist/lib/neutral/{prompt-Y7NN7M5D.mjs.map → prompt-YVFNLD7U.mjs.map} +3 -3
  58. package/dist/lib/neutral/{qualifier-VDOY5CWU.mjs → qualifier-UTPO5E3S.mjs} +15 -14
  59. package/dist/lib/neutral/qualifier-UTPO5E3S.mjs.map +7 -0
  60. package/dist/lib/neutral/{query-PPJU5622.mjs → query-3FK3ED6L.mjs} +4 -5
  61. package/dist/lib/neutral/query-3FK3ED6L.mjs.map +7 -0
  62. package/dist/lib/neutral/{query-U56GNEV6.mjs → query-GXZT4KUX.mjs} +3 -3
  63. package/dist/lib/neutral/{query-blueprints-KXADGHSA.mjs → query-blueprints-GA2JM54N.mjs} +2 -2
  64. package/dist/lib/neutral/{relation-create-XJ2IX6X3.mjs → relation-create-XOFKYPL2.mjs} +3 -3
  65. package/dist/lib/neutral/{relation-create-XJ2IX6X3.mjs.map → relation-create-XOFKYPL2.mjs.map} +3 -3
  66. package/dist/lib/neutral/{relation-delete-EP4KXAFL.mjs → relation-delete-MVJKKVEQ.mjs} +2 -2
  67. package/dist/lib/neutral/{save-GWAPLT3Z.mjs → save-TFQMJKG7.mjs} +3 -3
  68. package/dist/lib/neutral/{schema-add-Z5CY6P24.mjs → schema-add-I7BFBU55.mjs} +2 -2
  69. package/dist/lib/neutral/schema-list-TYGGAO2P.mjs +49 -0
  70. package/dist/lib/neutral/schema-list-TYGGAO2P.mjs.map +7 -0
  71. package/dist/lib/neutral/{sync-issues-4YE5XAK5.mjs → sync-issues-3U3EL6KO.mjs} +5 -6
  72. package/dist/lib/neutral/sync-issues-3U3EL6KO.mjs.map +7 -0
  73. package/dist/lib/neutral/{sync-triggers-CDMJVW6E.mjs → sync-triggers-M6U6RAKN.mjs} +39 -37
  74. package/dist/lib/neutral/sync-triggers-M6U6RAKN.mjs.map +7 -0
  75. package/dist/lib/neutral/{tag-add-VNIIOVJA.mjs → tag-add-RCE2QULJ.mjs} +3 -3
  76. package/dist/lib/neutral/{tag-add-VNIIOVJA.mjs.map → tag-add-RCE2QULJ.mjs.map} +3 -3
  77. package/dist/lib/neutral/{tag-remove-6R2R27W3.mjs → tag-remove-EPKB5CDE.mjs} +3 -3
  78. package/dist/lib/neutral/{tag-remove-6R2R27W3.mjs.map → tag-remove-EPKB5CDE.mjs.map} +3 -3
  79. package/dist/lib/neutral/testing/index.mjs +7 -10
  80. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  81. package/dist/lib/neutral/{update-blueprints-N2AK2VUR.mjs → update-blueprints-VOGJKSMQ.mjs} +2 -2
  82. package/dist/lib/neutral/update-tasks-PNNNCPWH.mjs +13 -0
  83. package/dist/lib/neutral/update-tasks-PNNNCPWH.mjs.map +7 -0
  84. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +10 -12
  85. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -1
  86. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +6 -7
  87. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -1
  88. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +4 -5
  89. package/dist/types/src/blueprints/database/functions/context-add.d.ts +3 -3
  90. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -1
  91. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +3 -3
  92. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -1
  93. package/dist/types/src/blueprints/database/functions/definitions.d.ts +17 -17
  94. package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -1
  95. package/dist/types/src/blueprints/database/functions/load.d.ts +2 -2
  96. package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -1
  97. package/dist/types/src/blueprints/database/functions/object-delete.d.ts +1 -1
  98. package/dist/types/src/blueprints/database/functions/object-update.d.ts +2 -2
  99. package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -1
  100. package/dist/types/src/blueprints/database/functions/query.d.ts +2 -3
  101. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -1
  102. package/dist/types/src/blueprints/database/functions/relation-create.d.ts +3 -3
  103. package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -1
  104. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +1 -1
  105. package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -1
  106. package/dist/types/src/blueprints/database/functions/tag-add.d.ts +3 -3
  107. package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -1
  108. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +3 -3
  109. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -1
  110. package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -1
  111. package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -1
  112. package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -1
  113. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -1
  114. package/dist/types/src/blueprints/memory/functions/definitions.d.ts +2 -2
  115. package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -1
  116. package/dist/types/src/blueprints/memory/functions/delete.d.ts +2 -2
  117. package/dist/types/src/blueprints/planning/functions/index.d.ts +1 -1
  118. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -1
  119. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +14 -1
  120. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -1
  121. package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts +2 -0
  122. package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts.map +1 -0
  123. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +1 -5
  124. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -1
  125. package/dist/types/src/blueprints/project/functions/definitions.d.ts +60 -45
  126. package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -1
  127. package/dist/types/src/blueprints/project/functions/get-context.d.ts +1 -12
  128. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -1
  129. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +3 -71
  130. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -1
  131. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +22 -18
  132. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +43 -36
  133. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -1
  134. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +21 -17
  135. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -1
  136. package/dist/types/src/blueprints/testing.d.ts +4 -4
  137. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  138. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -1
  139. package/dist/types/src/crud/graph.d.ts +8 -11
  140. package/dist/types/src/crud/graph.d.ts.map +1 -1
  141. package/dist/types/src/errors.d.ts +3 -3
  142. package/dist/types/src/errors.d.ts.map +1 -1
  143. package/dist/types/src/functions/agent/definitions.d.ts +12 -13
  144. package/dist/types/src/functions/agent/definitions.d.ts.map +1 -1
  145. package/dist/types/src/sync/sync.d.ts +1 -2
  146. package/dist/types/src/sync/sync.d.ts.map +1 -1
  147. package/dist/types/src/testing/plugins.d.ts +1 -1
  148. package/dist/types/src/testing/plugins.d.ts.map +1 -1
  149. package/dist/types/src/types/Agent.d.ts +23 -22
  150. package/dist/types/src/types/Agent.d.ts.map +1 -1
  151. package/dist/types/src/types/Chat.d.ts +17 -20
  152. package/dist/types/src/types/Chat.d.ts.map +1 -1
  153. package/dist/types/src/types/McpServer.d.ts +1 -2
  154. package/dist/types/src/types/McpServer.d.ts.map +1 -1
  155. package/dist/types/src/types/Memory.d.ts +1 -2
  156. package/dist/types/src/types/Memory.d.ts.map +1 -1
  157. package/dist/types/src/types/Plan.d.ts +14 -16
  158. package/dist/types/src/types/Plan.d.ts.map +1 -1
  159. package/dist/types/tsconfig.tsbuildinfo +1 -1
  160. package/package.json +26 -26
  161. package/src/blueprints/automation/blueprint.ts +3 -3
  162. package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -1
  163. package/src/blueprints/blueprint-manager/blueprint.test.ts +23 -19
  164. package/src/blueprints/blueprint-manager/functions/definitions.ts +8 -5
  165. package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +2 -2
  166. package/src/blueprints/database/blueprint.conversations.json +1 -1
  167. package/src/blueprints/database/blueprint.test.ts +15 -15
  168. package/src/blueprints/database/functions/context-add.ts +2 -2
  169. package/src/blueprints/database/functions/context-remove.ts +2 -2
  170. package/src/blueprints/database/functions/definitions.ts +19 -6
  171. package/src/blueprints/database/functions/object-create.ts +2 -2
  172. package/src/blueprints/database/functions/object-update.ts +1 -1
  173. package/src/blueprints/database/functions/query.ts +3 -4
  174. package/src/blueprints/database/functions/relation-create.ts +1 -1
  175. package/src/blueprints/database/functions/schema-list.ts +17 -10
  176. package/src/blueprints/database/functions/tag-add.ts +1 -1
  177. package/src/blueprints/database/functions/tag-remove.ts +1 -1
  178. package/src/blueprints/discord/functions/definitions.ts +1 -0
  179. package/src/blueprints/discord/functions/fetch-messages.test.ts +7 -2
  180. package/src/blueprints/github/functions/definitions.ts +1 -0
  181. package/src/blueprints/linear/functions/definitions.ts +1 -0
  182. package/src/blueprints/linear/functions/linear.test.ts +1 -2
  183. package/src/blueprints/linear/functions/sync-issues.ts +1 -2
  184. package/src/blueprints/memory/blueprint.conversations.json +1 -1
  185. package/src/blueprints/memory/functions/definitions.ts +3 -0
  186. package/src/blueprints/planning/blueprint.ts +1 -1
  187. package/src/blueprints/planning/functions/index.ts +1 -1
  188. package/src/blueprints/planning/functions/{definitions.ts → update-tasks.md} +29 -50
  189. package/src/blueprints/planning/functions/update-tasks.test.ts +55 -0
  190. package/src/blueprints/planning/functions/update-tasks.ts +26 -3
  191. package/src/blueprints/project/blueprint.conversations.json +1 -1
  192. package/src/blueprints/project/blueprint.test.ts +12 -14
  193. package/src/blueprints/project/functions/add-artifact.ts +1 -0
  194. package/src/blueprints/project/functions/agent.ts +2 -2
  195. package/src/blueprints/project/functions/definitions.ts +8 -6
  196. package/src/blueprints/project/functions/get-context.ts +2 -1
  197. package/src/blueprints/project/functions/qualifier.ts +8 -7
  198. package/src/blueprints/project-wizard/functions/definitions.ts +6 -4
  199. package/src/blueprints/project-wizard/functions/sync-triggers.ts +32 -34
  200. package/src/blueprints/testing.ts +10 -4
  201. package/src/blueprints/websearch/blueprint.conversations.json +1 -1
  202. package/src/blueprints/websearch/functions/definitions.ts +1 -0
  203. package/src/crud/graph.test.ts +1 -1
  204. package/src/crud/graph.ts +142 -151
  205. package/src/errors.ts +3 -3
  206. package/src/functions/agent/definitions.ts +2 -1
  207. package/src/functions/agent/prompt.conversations.json +1 -1
  208. package/src/functions/agent/prompt.test.ts +8 -11
  209. package/src/functions/agent/prompt.ts +2 -2
  210. package/src/sync/sync.ts +7 -6
  211. package/src/testing/plugins.tsx +8 -13
  212. package/src/types/Agent.ts +24 -29
  213. package/src/types/Chat.ts +9 -16
  214. package/src/types/McpServer.ts +3 -6
  215. package/src/types/Memory.ts +3 -3
  216. package/src/types/Plan.ts +4 -11
  217. package/dist/lib/neutral/chunk-246ACKSH.mjs.map +0 -7
  218. package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +0 -7
  219. package/dist/lib/neutral/chunk-FIGO6CA6.mjs +0 -140
  220. package/dist/lib/neutral/chunk-FIGO6CA6.mjs.map +0 -7
  221. package/dist/lib/neutral/chunk-GV66MKAQ.mjs.map +0 -7
  222. package/dist/lib/neutral/chunk-IKBIORQX.mjs.map +0 -7
  223. package/dist/lib/neutral/chunk-KGU725LW.mjs.map +0 -7
  224. package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +0 -7
  225. package/dist/lib/neutral/chunk-P4ZMYO4K.mjs.map +0 -7
  226. package/dist/lib/neutral/chunk-ROMZO4CB.mjs.map +0 -7
  227. package/dist/lib/neutral/chunk-TO5IX24K.mjs.map +0 -7
  228. package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +0 -7
  229. package/dist/lib/neutral/chunk-XUF53B6B.mjs.map +0 -7
  230. package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +0 -7
  231. package/dist/lib/neutral/context-add-VB7AOY3G.mjs.map +0 -7
  232. package/dist/lib/neutral/context-remove-VCM3VPSO.mjs.map +0 -7
  233. package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs.map +0 -7
  234. package/dist/lib/neutral/qualifier-VDOY5CWU.mjs.map +0 -7
  235. package/dist/lib/neutral/query-PPJU5622.mjs.map +0 -7
  236. package/dist/lib/neutral/schema-list-W326VPVX.mjs +0 -38
  237. package/dist/lib/neutral/schema-list-W326VPVX.mjs.map +0 -7
  238. package/dist/lib/neutral/sync-issues-4YE5XAK5.mjs.map +0 -7
  239. package/dist/lib/neutral/sync-triggers-CDMJVW6E.mjs.map +0 -7
  240. package/dist/lib/neutral/update-tasks-H7SWIFQL.mjs +0 -46
  241. package/dist/lib/neutral/update-tasks-H7SWIFQL.mjs.map +0 -7
  242. package/dist/types/src/blueprints/planning/functions/definitions.d.ts +0 -11
  243. package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +0 -1
  244. /package/dist/lib/neutral/{chunk-QO5SU37C.mjs.map → chunk-PAEPER4S.mjs.map} +0 -0
  245. /package/dist/lib/neutral/{create-project-EIF4OJMY.mjs.map → create-project-VNC2KKBG.mjs.map} +0 -0
  246. /package/dist/lib/neutral/{delete-J3PMWP7Z.mjs.map → delete-NLBJMMBJ.mjs.map} +0 -0
  247. /package/dist/lib/neutral/{fetch-KHMHV7JR.mjs.map → fetch-VV3DU75K.mjs.map} +0 -0
  248. /package/dist/lib/neutral/{fetch-messages-QOBBCTGC.mjs.map → fetch-messages-YXH77S3S.mjs.map} +0 -0
  249. /package/dist/lib/neutral/{load-ALP3TK2E.mjs.map → load-K7HEJA54.mjs.map} +0 -0
  250. /package/dist/lib/neutral/{object-delete-X53LS37B.mjs.map → object-delete-RMA5ZKGY.mjs.map} +0 -0
  251. /package/dist/lib/neutral/{project-HPHTZ2CI.mjs.map → project-OGO5ABSZ.mjs.map} +0 -0
  252. /package/dist/lib/neutral/{project-rules-IVDHKSKI.mjs.map → project-rules-IVA3DSOW.mjs.map} +0 -0
  253. /package/dist/lib/neutral/{query-U56GNEV6.mjs.map → query-GXZT4KUX.mjs.map} +0 -0
  254. /package/dist/lib/neutral/{query-blueprints-KXADGHSA.mjs.map → query-blueprints-GA2JM54N.mjs.map} +0 -0
  255. /package/dist/lib/neutral/{relation-delete-EP4KXAFL.mjs.map → relation-delete-MVJKKVEQ.mjs.map} +0 -0
  256. /package/dist/lib/neutral/{save-GWAPLT3Z.mjs.map → save-TFQMJKG7.mjs.map} +0 -0
  257. /package/dist/lib/neutral/{schema-add-Z5CY6P24.mjs.map → schema-add-I7BFBU55.mjs.map} +0 -0
  258. /package/dist/lib/neutral/{update-blueprints-N2AK2VUR.mjs.map → update-blueprints-VOGJKSMQ.mjs.map} +0 -0
@@ -8,14 +8,12 @@ import * as Effect from 'effect/Effect';
8
8
  import * as Function from 'effect/Function';
9
9
  import * as Schema from 'effect/Schema';
10
10
 
11
- import { AiContextBinder, AiContextService } from '@dxos/assistant';
11
+ import { AiContext } from '@dxos/assistant';
12
12
  import { type Blueprint } from '@dxos/compute';
13
- import { Annotation, Database, Feed, Format, Obj, Ref, Relation, Type } from '@dxos/echo';
14
- import { Queue } from '@dxos/echo-db';
13
+ import { DXN, Annotation, Database, Feed, Format, Obj, Ref, Relation, Type } from '@dxos/echo';
15
14
  import { type ObjectNotFoundError } from '@dxos/echo/Err';
16
15
  import { FormInputAnnotation } from '@dxos/echo/internal';
17
16
  import { acquireReleaseResource } from '@dxos/effect';
18
- import { QueueService } from '@dxos/functions';
19
17
  import { invariant } from '@dxos/invariant';
20
18
  import { Text } from '@dxos/schema';
21
19
 
@@ -97,21 +95,17 @@ export const Agent = Schema.Struct({
97
95
  * Input feed for subscriptions.
98
96
  * @deprecated Subscriptions will write directly to the agent.
99
97
  */
100
- queue: Schema.optional(Ref.Ref(Queue).pipe(FormInputAnnotation.set(false))),
98
+ feed: Schema.optional(Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false))),
101
99
  }).pipe(
102
- Type.object({
103
- typename: 'org.dxos.type.agent',
104
- version: '0.1.0',
105
- }),
106
100
  Annotation.LabelAnnotation.set(['name']),
107
101
  Annotation.IconAnnotation.set({
108
102
  icon: 'ph--drone--regular',
109
103
  hue: 'sky',
110
104
  }),
105
+ Type.makeObject(DXN.make('org.dxos.type.agent', '0.1.0')),
111
106
  );
112
107
 
113
- export interface Agent extends Schema.Schema.Type<typeof Agent> {}
114
-
108
+ export type Agent = Type.InstanceType<typeof Agent>;
115
109
  /**
116
110
  * Creates a fully initialized Agent with chat, queue, and context bindings.
117
111
  *
@@ -127,21 +121,22 @@ export const makeInitialized = (
127
121
  contextObjects?: Ref.Ref<Obj.Any>[];
128
122
  },
129
123
  blueprint: Blueprint.Blueprint,
130
- ): Effect.Effect<Agent, never, QueueService | Feed.FeedService | Database.Service> =>
124
+ ): Effect.Effect<Agent, never, Feed.FeedService | Database.Service> =>
131
125
  Effect.gen(function* () {
132
- const agent = Obj.make(Agent, {
133
- ...props,
134
- instructions: Ref.make(Text.make({ content: props.instructions })),
135
- plan: Ref.make(Plan.makePlan({ tasks: [] })),
136
- artifacts: props.artifacts ?? [],
137
- subscriptions: props.subscriptions ?? [],
138
- filterEvents: props.filterEvents ?? true,
139
- enabled: props.enabled ?? true,
140
- });
141
- yield* Database.add(agent);
126
+ const agent = yield* Database.add(
127
+ Obj.make(Agent, {
128
+ ...props,
129
+ instructions: Ref.make(Text.make({ content: props.instructions })),
130
+ plan: Ref.make(Plan.makePlan({ tasks: [] })),
131
+ artifacts: props.artifacts ?? [],
132
+ subscriptions: props.subscriptions ?? [],
133
+ filterEvents: props.filterEvents ?? true,
134
+ enabled: props.enabled ?? true,
135
+ }),
136
+ );
142
137
  const feed = yield* Database.add(Feed.make());
143
138
  const runtime = yield* Effect.runtime<Feed.FeedService>();
144
- const contextBinder = new AiContextBinder({ feed, runtime });
139
+ const contextBinder = new AiContext.Binder({ feed, runtime });
145
140
  // TODO(dmaretskyi): Blueprint registry.
146
141
  const agentBlueprint = yield* Database.add(Obj.clone(blueprint, { deep: true }));
147
142
  yield* Effect.promise(() =>
@@ -164,11 +159,11 @@ export const makeInitialized = (
164
159
  }),
165
160
  );
166
161
 
167
- const inputQueue = yield* QueueService.createQueue();
162
+ const inputFeed = yield* Database.add(Feed.make());
168
163
 
169
164
  Obj.update(agent, (agent) => {
170
165
  agent.chat = Ref.make(chat);
171
- agent.queue = Ref.fromDXN(inputQueue.dxn);
166
+ agent.feed = Ref.make(inputFeed);
172
167
  });
173
168
 
174
169
  return agent;
@@ -194,7 +189,7 @@ export const resetChatHistory = (
194
189
  const runtime = yield* Effect.runtime<Feed.FeedService>();
195
190
  const existingContextBinder = yield* acquireReleaseResource(
196
191
  () =>
197
- new AiContextBinder({
192
+ new AiContext.Binder({
198
193
  feed: existingFeed,
199
194
  runtime,
200
195
  }),
@@ -203,7 +198,7 @@ export const resetChatHistory = (
203
198
  const objects = existingContextBinder.getObjects().map((object) => Ref.make(object));
204
199
 
205
200
  const feed = yield* Database.add(Feed.make());
206
- const contextBinder = new AiContextBinder({ feed, runtime });
201
+ const contextBinder = new AiContext.Binder({ feed, runtime });
207
202
  yield* Effect.promise(() =>
208
203
  contextBinder.bind({
209
204
  blueprints,
@@ -229,8 +224,8 @@ export const resetChatHistory = (
229
224
  );
230
225
  }).pipe(Effect.scoped);
231
226
 
232
- export const getFromChatContext: Effect.Effect<Agent, Error, AiContextService> = Effect.gen(function* () {
233
- const agents = yield* Function.pipe(AiContextService.findObjects(Agent));
227
+ export const getFromChatContext: Effect.Effect<Agent, Error, AiContext.Service> = Effect.gen(function* () {
228
+ const agents = yield* Function.pipe(AiContext.Service.findObjects(Agent));
234
229
  if (agents.length !== 1) {
235
230
  return yield* Effect.fail(new Error(`There should be exactly one agent in context. Got: ${agents.length}`));
236
231
  }
package/src/types/Chat.ts CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  import * as Schema from 'effect/Schema';
8
8
 
9
- import { Annotation, Feed, Obj, Ref, Type } from '@dxos/echo';
9
+ import { DXN, Annotation, Feed, Obj, Ref, Type } from '@dxos/echo';
10
10
  import { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';
11
11
 
12
12
  /**
@@ -17,47 +17,40 @@ export const Chat = Schema.Struct({
17
17
  feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),
18
18
  view: Schema.String.pipe(Schema.optional),
19
19
  }).pipe(
20
- Type.object({
21
- typename: 'org.dxos.type.assistant.chat',
22
- version: '0.1.0',
23
- }),
24
20
  LabelAnnotation.set(['name']),
25
21
  Annotation.IconAnnotation.set({
26
22
  icon: 'ph--sparkle--regular',
27
23
  hue: 'sky',
28
24
  }),
25
+ Type.makeObject(DXN.make('org.dxos.type.assistant.chat', '0.1.0')),
29
26
  );
30
27
 
31
- export interface Chat extends Schema.Schema.Type<typeof Chat> {}
32
-
28
+ export type Chat = Type.InstanceType<typeof Chat>;
33
29
  export const make = (props: Obj.MakeProps<typeof Chat>) => Obj.make(Chat, props);
34
30
 
35
31
  /** @deprecated Use CompanionTo instead. */
36
32
  export const LegacyCompanionTo = Schema.Struct({
37
33
  id: Obj.ID,
38
34
  }).pipe(
39
- Type.relation({
40
- typename: 'org.dxos.relation.assistant.companion-to',
41
- version: '0.1.0',
35
+ Type.makeRelation({
36
+ dxn: DXN.make('org.dxos.relation.assistant.companionTo', '0.1.0'),
42
37
  source: Chat,
43
38
  target: Obj.Unknown,
44
39
  }),
45
40
  );
46
41
 
47
- export interface LegacyCompanionTo extends Schema.Schema.Type<typeof LegacyCompanionTo> {}
48
-
42
+ export type LegacyCompanionTo = Type.InstanceType<typeof LegacyCompanionTo>;
49
43
  /**
50
44
  * Relation between a Chat and companion objects (e.g., artifacts).
51
45
  */
52
46
  export const CompanionTo = Schema.Struct({
53
47
  id: Obj.ID,
54
48
  }).pipe(
55
- Type.relation({
56
- typename: 'org.dxos.relation.assistant.companionTo',
57
- version: '0.1.0',
49
+ Type.makeRelation({
50
+ dxn: DXN.make('org.dxos.relation.assistant.companionTo', '0.1.0'),
58
51
  source: Chat,
59
52
  target: Obj.Unknown,
60
53
  }),
61
54
  );
62
55
 
63
- export interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}
56
+ export type CompanionTo = Type.InstanceType<typeof CompanionTo>;
@@ -7,7 +7,7 @@
7
7
  import * as Schema from 'effect/Schema';
8
8
 
9
9
  import { McpServer as McpServerSpec } from '@dxos/compute';
10
- import { Annotation, Type } from '@dxos/echo';
10
+ import { DXN, Annotation, Type } from '@dxos/echo';
11
11
  import { LabelAnnotation } from '@dxos/echo/internal';
12
12
 
13
13
  /**
@@ -23,15 +23,12 @@ export const McpServer = Schema.Struct({
23
23
  ...McpServerSpec.McpServer.fields,
24
24
  enabled: Schema.optional(Schema.Boolean),
25
25
  }).pipe(
26
- Type.object({
27
- typename: 'org.dxos.type.assistant.mcpServer',
28
- version: '0.1.0',
29
- }),
30
26
  LabelAnnotation.set(['name']),
31
27
  Annotation.IconAnnotation.set({
32
28
  icon: 'ph--plugs-connected--regular',
33
29
  hue: 'sky',
34
30
  }),
31
+ Type.makeObject(DXN.make('org.dxos.type.assistant.mcpServer', '0.1.0')),
35
32
  );
36
33
 
37
- export interface McpServer extends Schema.Schema.Type<typeof McpServer> {}
34
+ export type McpServer = Type.InstanceType<typeof McpServer>;
@@ -4,7 +4,7 @@
4
4
 
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
- import { Annotation, Type } from '@dxos/echo';
7
+ import { DXN, Annotation, Type } from '@dxos/echo';
8
8
 
9
9
  /**
10
10
  * Unit of knowledge generated by an agent.
@@ -13,12 +13,12 @@ export const Memory = Schema.Struct({
13
13
  title: Schema.String,
14
14
  content: Schema.String,
15
15
  }).pipe(
16
- Type.object({ typename: 'org.dxos.type.memory', version: '0.1.0' }),
17
16
  Annotation.LabelAnnotation.set(['title']),
18
17
  Annotation.IconAnnotation.set({
19
18
  icon: 'ph--brain--regular',
20
19
  hue: 'pink',
21
20
  }),
21
+ Type.makeObject(DXN.make('org.dxos.type.memory', '0.1.0')),
22
22
  );
23
23
 
24
- export interface Memory extends Schema.Schema.Type<typeof Memory> {}
24
+ export type Memory = Type.InstanceType<typeof Memory>;
package/src/types/Plan.ts CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  import * as Schema from 'effect/Schema';
8
8
 
9
- import { Annotation, Obj, Ref, Type } from '@dxos/echo';
9
+ import { DXN, Annotation, Obj, Ref, Type } from '@dxos/echo';
10
10
 
11
11
  import * as Chat from './Chat';
12
12
 
@@ -37,22 +37,15 @@ export const Task = Schema.Struct({
37
37
  */
38
38
  chat: Schema.optional(Ref.Ref(Chat.Chat)),
39
39
  });
40
- export interface Task extends Schema.Schema.Type<typeof Task> {}
41
40
 
41
+ export type Task = Schema.Schema.Type<typeof Task>;
42
42
  /**
43
43
  * Hierarchical collection of tasks for humans and agents to track progress.
44
44
  */
45
45
  export const Plan = Schema.Struct({
46
46
  tasks: Schema.Array(Task),
47
- }).pipe(
48
- Type.object({
49
- typename: 'org.dxos.type.plan',
50
- version: '0.1.0',
51
- }),
52
- Annotation.SystemTypeAnnotation.set(true),
53
- );
54
- export interface Plan extends Schema.Schema.Type<typeof Plan> {}
55
-
47
+ }).pipe(Annotation.SystemTypeAnnotation.set(true), Type.makeObject(DXN.make('org.dxos.type.plan', '0.1.0')));
48
+ export type Plan = Type.InstanceType<typeof Plan>;
56
49
  export const generateTaskId = (plan: Plan): TaskId => {
57
50
  const existingIds = plan.tasks
58
51
  .map((task) => {
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/blueprints/project/functions/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit } from '@dxos/ai';\nimport { AiContextService } from '@dxos/assistant';\nimport { Trace, TriggerEvent, Operation, OperationRegistry } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { QueueService } from '@dxos/functions';\n\nimport { Agent } from '../../../types';\n\nexport const AgentWorker = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.worker',\n name: 'Agent Worker',\n description: 'Agentic worker that drives the agent autonomously.',\n },\n input: Schema.Struct({\n agent: Schema.suspend(() => Ref.Ref(Agent.Agent)),\n prompt: Schema.optional(Schema.String),\n event: Schema.optional(TriggerEvent.TriggerEvent),\n }),\n output: Schema.Void,\n services: [\n AiService.AiService,\n Database.Service,\n QueueService,\n Feed.FeedService,\n OperationRegistry.Service,\n Trace.TraceService,\n OpaqueToolkit.OpaqueToolkitProvider,\n ],\n}).pipe(Operation.intrinsic);\n\nexport const Qualifier = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.qualifier',\n name: 'Agent Qualifier',\n description:\n 'Qualifier that determines if the event is relevant to the agent. Puts the data into the input queue of the agent.',\n },\n input: Schema.Struct({\n agent: Schema.suspend(() => Ref.Ref(Agent.Agent)),\n event: TriggerEvent.TriggerEvent,\n }),\n output: Schema.Void,\n services: [AiService.AiService, Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const GetContext = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.get-context',\n name: 'Get Agent Context',\n description: 'Get the context of an agent.',\n },\n input: Schema.Struct({}),\n output: Schema.Struct({\n id: Schema.String,\n name: Schema.String,\n instructions: Schema.String,\n plan: Schema.String,\n artifacts: Schema.Array(\n Schema.Struct({\n name: Schema.String,\n type: Schema.optional(Schema.String),\n dxn: Schema.optional(Schema.String),\n }),\n ),\n }),\n services: [AiContextService, Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const AddArtifact = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.add-artifact',\n name: 'Add artifact',\n description: 'Adds a new artifact.',\n },\n input: Schema.Struct({\n name: Schema.String.annotations({\n description: 'The name of the artifact to add.',\n }),\n artifact: Ref.Ref(Obj.Unknown).annotations({\n description: 'The artifact to add. Do NOT guess or try to generate the ID.',\n }),\n }),\n output: Schema.Void,\n services: [AiContextService, Database.Service],\n}).pipe(Operation.intrinsic);\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,WAAWC,qBAAqB;AACzC,SAASC,wBAAwB;AACjC,SAASC,OAAOC,cAAcC,WAAWC,yBAAyB;AAClE,SAASC,UAAUC,MAAMC,KAAKC,WAAW;AACzC,SAASC,oBAAoB;AAItB,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBC,OAAcC,eAAQ,MAAMC,IAAIA,IAAIC,cAAMA,KAAK,CAAA;IAC/CC,QAAeC,gBAAgBC,aAAM;IACrCC,OAAcF,gBAASG,aAAaA,YAAY;EAClD,CAAA;EACAC,QAAeC;EACfC,UAAU;IACRC,UAAUA;IACVC,SAASC;IACTC;IACAC,KAAKC;IACLC,kBAAkBJ;IAClBK,MAAMC;IACNC,cAAcC;;AAElB,CAAA,EAAGC,KAAK/B,UAAUgC,SAAS;AAEpB,IAAMC,YAAYjC,UAAUC,KAAK;EACtCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO;IACnBC,OAAcC,eAAQ,MAAMC,IAAIA,IAAIC,cAAMA,KAAK,CAAA;IAC/CI,OAAOC,aAAaA;EACtB,CAAA;EACAC,QAAeC;EACfC,UAAU;IAACC,UAAUA;IAAWC,SAASC;;AAC3C,CAAA,EAAGS,KAAK/B,UAAUgC,SAAS;AAEpB,IAAME,aAAalC,UAAUC,KAAK;EACvCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO,CAAC,CAAA;EACtBU,QAAeV,cAAO;IACpB4B,IAAWrB;IACXV,MAAaU;IACbsB,cAAqBtB;IACrBuB,MAAavB;IACbwB,WAAkBC,aACThC,cAAO;MACZH,MAAaU;MACb0B,MAAa3B,gBAAgBC,aAAM;MACnC2B,KAAY5B,gBAAgBC,aAAM;IACpC,CAAA,CAAA;EAEJ,CAAA;EACAK,UAAU;IAACuB;IAAkBrB,SAASC;;AACxC,CAAA,EAAGS,KAAK/B,UAAUgC,SAAS;AAEpB,IAAMW,cAAc3C,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBH,MAAaU,cAAO8B,YAAY;MAC9BvC,aAAa;IACf,CAAA;IACAwC,UAAUnC,IAAIA,IAAIoC,IAAIC,OAAO,EAAEH,YAAY;MACzCvC,aAAa;IACf,CAAA;EACF,CAAA;EACAY,QAAeC;EACfC,UAAU;IAACuB;IAAkBrB,SAASC;;AACxC,CAAA,EAAGS,KAAK/B,UAAUgC,SAAS;",
6
- "names": ["Schema", "AiService", "OpaqueToolkit", "AiContextService", "Trace", "TriggerEvent", "Operation", "OperationRegistry", "Database", "Feed", "Obj", "Ref", "QueueService", "AgentWorker", "Operation", "make", "meta", "key", "name", "description", "input", "Struct", "agent", "suspend", "Ref", "Agent", "prompt", "optional", "String", "event", "TriggerEvent", "output", "Void", "services", "AiService", "Database", "Service", "QueueService", "Feed", "FeedService", "OperationRegistry", "Trace", "TraceService", "OpaqueToolkit", "OpaqueToolkitProvider", "pipe", "intrinsic", "Qualifier", "GetContext", "id", "instructions", "plan", "artifacts", "Array", "type", "dxn", "AiContextService", "AddArtifact", "annotations", "artifact", "Obj", "Unknown"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/blueprints/memory/functions/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Ref } from '@dxos/echo';\n\nimport { Memory } from '../../../types/Memory';\n\nexport const QueryMemories = Operation.make({\n meta: {\n key: 'org.dxos.function.memory.query',\n name: 'Query memories',\n description:\n 'Search for stored memories using full-text search. Returns memories matching the query terms. Use this to recall previously saved knowledge, facts, or preferences.',\n },\n input: Schema.Struct({\n text: Schema.optional(\n Schema.String.annotations({\n description: 'Full-text search query. Omit to list all memories.',\n examples: ['new york trip date plan', 'favorite color', 'project cyberdyne'],\n }),\n ),\n limit: Schema.optional(\n Schema.Number.annotations({\n description: 'Maximum number of results to return.',\n default: 10,\n }),\n ),\n }),\n output: Schema.Array(Schema.Unknown),\n services: [Database.Service],\n});\n\nexport const SaveMemory = Operation.make({\n meta: {\n key: 'org.dxos.function.memory.save',\n name: 'Save memory',\n description:\n 'Saves a new memory to the database. Use this to persist knowledge, facts, preferences, or any information that should be remembered across conversations.',\n },\n input: Schema.Struct({\n title: Schema.String.annotations({\n description: 'Short descriptive title for the memory.',\n }),\n content: Schema.String.annotations({\n description:\n 'The content of the memory. Can be a fact, preference, instruction, or any knowledge worth persisting.',\n }),\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n});\n\nexport const DeleteMemory = Operation.make({\n meta: {\n key: 'org.dxos.function.memory.delete',\n name: 'Delete memory',\n description: 'Deletes a memory from the database. Use this to remove outdated or incorrect memories.',\n },\n input: Schema.Struct({\n memory: Ref.Ref(Memory),\n }),\n output: Schema.Void,\n services: [Database.Service],\n});\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,WAAW;AAIvB,IAAMC,gBAAgBC,UAAUC,KAAK;EAC1CC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO;IACnBC,MAAaC,gBACJC,cAAOC,YAAY;MACxBN,aAAa;MACbO,UAAU;QAAC;QAA2B;QAAkB;;IAC1D,CAAA,CAAA;IAEFC,OAAcJ,gBACLK,cAAOH,YAAY;MACxBN,aAAa;MACbU,SAAS;IACX,CAAA,CAAA;EAEJ,CAAA;EACAC,QAAeC,aAAaC,cAAO;EACnCC,UAAU;IAACC,SAASC;;AACtB,CAAA;AAEO,IAAMC,aAAatB,UAAUC,KAAK;EACvCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO;IACnBgB,OAAcb,cAAOC,YAAY;MAC/BN,aAAa;IACf,CAAA;IACAmB,SAAgBd,cAAOC,YAAY;MACjCN,aACE;IACJ,CAAA;EACF,CAAA;EACAW,QAAeE;EACfC,UAAU;IAACC,SAASC;;AACtB,CAAA;AAEO,IAAMI,eAAezB,UAAUC,KAAK;EACzCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBmB,QAAQC,IAAIA,IAAIC,MAAAA;EAClB,CAAA;EACAZ,QAAea;EACfV,UAAU;IAACC,SAASC;;AACtB,CAAA;",
6
- "names": ["Schema", "Operation", "Database", "Ref", "QueryMemories", "Operation", "make", "meta", "key", "name", "description", "input", "Struct", "text", "optional", "String", "annotations", "examples", "limit", "Number", "default", "output", "Array", "Unknown", "services", "Database", "Service", "SaveMemory", "title", "content", "DeleteMemory", "memory", "Ref", "Memory", "Void"]
7
- }
@@ -1,140 +0,0 @@
1
- import {
2
- Plan_exports
3
- } from "./chunk-P4ZMYO4K.mjs";
4
-
5
- // src/blueprints/planning/functions/definitions.ts
6
- import * as Schema from "effect/Schema";
7
- import { AiContextService } from "@dxos/assistant";
8
- import { Operation } from "@dxos/compute";
9
- import { Database } from "@dxos/echo";
10
- import { trim } from "@dxos/util";
11
- var INSTRUCTIONS = trim`
12
- TASK MANAGEMENT TOOL - USAGE GUIDELINES
13
-
14
- This tool maintains an organized task list during work sessions to track progress, break down objectives, and ensure thoroughness. After creating initial tasks, update them silently without announcing changes to the user.
15
-
16
- === CORE USAGE PRINCIPLES ===
17
-
18
- Create and manage tasks for: multi-step objectives requiring 3+ distinct actions, complex projects needing careful sequencing, user requests for task organization, multiple deliverables provided together, new instructions (capture as tasks immediately with new IDs), completed work (mark done and add follow-ups), and active work (mark as 'in-progress', limit one at a time).
19
-
20
- Skip task management for: single straightforward actions, simple requests achievable in 1-2 steps, informational queries, quick lookups or clarifications, and avoid creating verification tasks unless requested.
21
-
22
- === TOOL SPECIFICATION ===
23
-
24
- update-tasks requires an array of task objects. Each task object contains:
25
- - id (string, required): unique identifier like "task_1" or "research_sources"
26
- - title (string, optional): update to clarify or refine task description
27
- - status (string, optional): 'todo' | 'in-progress' | 'done'
28
-
29
- Task status meanings: 'todo' means not yet started, 'in-progress' means currently being worked on, 'done' means completed successfully.
30
-
31
- === OPERATIONAL GUIDELINES ===
32
-
33
- Update tasks in real-time as work progresses. Mark tasks 'done' immediately upon completion. Maintain only ONE task with 'in-progress' status at a time. Complete current tasks before starting new ones. Use specific, actionable task titles. Break complex work into manageable logical pieces. Batch task updates with other actions when possible for efficiency.
34
-
35
- === USAGE EXAMPLES ===
36
-
37
- <example type="research_project">
38
- <user_message>I need to research sustainable packaging options and write a report comparing costs and environmental impact.</user_message>
39
- <assistant_action>
40
- Creates tasks:
41
- 1. {id: "research_materials", title: "Research sustainable packaging materials", status: "in-progress"}
42
- 2. {id: "compare_costs", title: "Compile cost comparison data", status: "todo"}
43
- 3. {id: "assess_impact", title: "Evaluate environmental impact metrics", status: "todo"}
44
- 4. {id: "draft_report", title: "Write comparative analysis report", status: "todo"}
45
-
46
- Begins research work immediately in same response.
47
- </assistant_action>
48
- <reasoning>Multi-phase project requiring systematic tracking across research, analysis, and writing stages.</reasoning>
49
- </example>
50
-
51
- <example type="event_planning">
52
- <user_message>Help me plan a team retreat - venue, agenda, catering, and send invitations.</user_message>
53
- <assistant_action>
54
- Creates tasks:
55
- 1. {id: "venue_options", title: "Research and recommend venues", status: "in-progress"}
56
- 2. {id: "draft_agenda", title: "Create retreat agenda", status: "todo"}
57
- 3. {id: "arrange_catering", title: "Coordinate catering options", status: "todo"}
58
- 4. {id: "send_invites", title: "Draft and send invitations", status: "todo"}
59
- </assistant_action>
60
- <reasoning>Multiple distinct deliverables with dependencies requiring organized tracking.</reasoning>
61
- </example>
62
-
63
- <example type="document_analysis">
64
- <user_message>Review this 30-page contract for key terms, risks, and negotiation points.</user_message>
65
- <assistant_action>
66
- Creates tasks:
67
- 1. {id: "extract_key_terms", title: "Identify key contractual terms", status: "in-progress"}
68
- 2. {id: "flag_risks", title: "Flag potential risks and liabilities", status: "todo"}
69
- 3. {id: "negotiation_points", title: "Compile negotiation recommendations", status: "todo"}
70
- 4. {id: "summary_doc", title: "Prepare executive summary", status: "todo"}
71
- </assistant_action>
72
- <reasoning>Substantial analysis work requiring methodical breakdown and systematic review.</reasoning>
73
- </example>
74
-
75
- <example type="multiple_deliverables">
76
- <user_message>I need: 1) competitor analysis for three companies, 2) SWOT analysis, 3) market positioning recommendations.</user_message>
77
- <assistant_action>
78
- Creates tasks:
79
- 1. {id: "competitor_research", title: "Research three competitor companies", status: "in-progress"}
80
- 2. {id: "swot_analysis", title: "Develop SWOT analysis", status: "todo"}
81
- 3. {id: "positioning_recs", title: "Create market positioning recommendations", status: "todo"}
82
- </assistant_action>
83
- <reasoning>User provided numbered list of distinct deliverables requiring separate effort.</reasoning>
84
- </example>
85
-
86
- <example type="skip_simple_question">
87
- <user_message>What's the difference between renewable and sustainable energy?</user_message>
88
- <assistant_action>Provides explanation directly without creating tasks.</assistant_action>
89
- <reasoning>Informational request with no actionable work to complete or track.</reasoning>
90
- </example>
91
-
92
- <example type="skip_quick_lookup">
93
- <user_message>Find the population of Tokyo.</user_message>
94
- <assistant_action>Searches and provides answer without task tracking.</assistant_action>
95
- <reasoning>Single straightforward lookup completable immediately.</reasoning>
96
- </example>
97
-
98
- <example type="skip_trivial_task">
99
- <user_message>Summarize this 2-paragraph email.</user_message>
100
- <assistant_action>Provides summary directly without creating tasks.</assistant_action>
101
- <reasoning>Single simple action requiring no breakdown or progress tracking.</reasoning>
102
- </example>
103
-
104
- <example type="skip_single_action">
105
- <user_message>Check if my flight is on time.</user_message>
106
- <assistant_action>Performs lookup and reports status without task management.</assistant_action>
107
- <reasoning>One-step action with immediate completion, no organizational benefit from tasks.</reasoning>
108
- </example>
109
-
110
- === BEST PRACTICES ===
111
-
112
- For task creation: use descriptive unique IDs reflecting the work, start first task as 'in-progress', batch initial creation with beginning work. For progress tracking: update status immediately upon completion, keep only one 'in-progress' task unless parallel work is natural, add follow-up tasks as they emerge. For task breakdown: aim for reasonably-scoped tasks, group related small actions into logical units, split tasks requiring different approaches.
113
-
114
- When uncertain whether to use task management, err on the side of creating tasks. Proactive organization demonstrates thoroughness and ensures comprehensive work completion.
115
- `;
116
- var TaskProps = Schema.Struct({
117
- id: Plan_exports.TaskId,
118
- title: Schema.String,
119
- status: Schema.Literal("todo", "in-progress", "done")
120
- });
121
- var UpdateTasks = Operation.make({
122
- meta: {
123
- key: "org.dxos.function.planning.update-tasks",
124
- name: "Update tasks",
125
- description: INSTRUCTIONS
126
- },
127
- input: Schema.Struct({
128
- tasks: Schema.Array(TaskProps)
129
- }),
130
- output: Schema.Any,
131
- services: [
132
- AiContextService,
133
- Database.Service
134
- ]
135
- });
136
-
137
- export {
138
- UpdateTasks
139
- };
140
- //# sourceMappingURL=chunk-FIGO6CA6.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/blueprints/planning/functions/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiContextService } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\nimport { trim } from '@dxos/util';\n\nimport { Plan } from '../../../types';\n\nconst INSTRUCTIONS = trim`\nTASK MANAGEMENT TOOL - USAGE GUIDELINES\n\nThis tool maintains an organized task list during work sessions to track progress, break down objectives, and ensure thoroughness. After creating initial tasks, update them silently without announcing changes to the user.\n\n=== CORE USAGE PRINCIPLES ===\n\nCreate and manage tasks for: multi-step objectives requiring 3+ distinct actions, complex projects needing careful sequencing, user requests for task organization, multiple deliverables provided together, new instructions (capture as tasks immediately with new IDs), completed work (mark done and add follow-ups), and active work (mark as 'in-progress', limit one at a time).\n\nSkip task management for: single straightforward actions, simple requests achievable in 1-2 steps, informational queries, quick lookups or clarifications, and avoid creating verification tasks unless requested.\n\n=== TOOL SPECIFICATION ===\n\nupdate-tasks requires an array of task objects. Each task object contains:\n- id (string, required): unique identifier like \"task_1\" or \"research_sources\"\n- title (string, optional): update to clarify or refine task description\n- status (string, optional): 'todo' | 'in-progress' | 'done'\n\nTask status meanings: 'todo' means not yet started, 'in-progress' means currently being worked on, 'done' means completed successfully.\n\n=== OPERATIONAL GUIDELINES ===\n\nUpdate tasks in real-time as work progresses. Mark tasks 'done' immediately upon completion. Maintain only ONE task with 'in-progress' status at a time. Complete current tasks before starting new ones. Use specific, actionable task titles. Break complex work into manageable logical pieces. Batch task updates with other actions when possible for efficiency.\n\n=== USAGE EXAMPLES ===\n\n<example type=\"research_project\">\n<user_message>I need to research sustainable packaging options and write a report comparing costs and environmental impact.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"research_materials\", title: \"Research sustainable packaging materials\", status: \"in-progress\"}\n2. {id: \"compare_costs\", title: \"Compile cost comparison data\", status: \"todo\"}\n3. {id: \"assess_impact\", title: \"Evaluate environmental impact metrics\", status: \"todo\"}\n4. {id: \"draft_report\", title: \"Write comparative analysis report\", status: \"todo\"}\n\nBegins research work immediately in same response.\n</assistant_action>\n<reasoning>Multi-phase project requiring systematic tracking across research, analysis, and writing stages.</reasoning>\n</example>\n\n<example type=\"event_planning\">\n<user_message>Help me plan a team retreat - venue, agenda, catering, and send invitations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"venue_options\", title: \"Research and recommend venues\", status: \"in-progress\"}\n2. {id: \"draft_agenda\", title: \"Create retreat agenda\", status: \"todo\"}\n3. {id: \"arrange_catering\", title: \"Coordinate catering options\", status: \"todo\"}\n4. {id: \"send_invites\", title: \"Draft and send invitations\", status: \"todo\"}\n</assistant_action>\n<reasoning>Multiple distinct deliverables with dependencies requiring organized tracking.</reasoning>\n</example>\n\n<example type=\"document_analysis\">\n<user_message>Review this 30-page contract for key terms, risks, and negotiation points.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"extract_key_terms\", title: \"Identify key contractual terms\", status: \"in-progress\"}\n2. {id: \"flag_risks\", title: \"Flag potential risks and liabilities\", status: \"todo\"}\n3. {id: \"negotiation_points\", title: \"Compile negotiation recommendations\", status: \"todo\"}\n4. {id: \"summary_doc\", title: \"Prepare executive summary\", status: \"todo\"}\n</assistant_action>\n<reasoning>Substantial analysis work requiring methodical breakdown and systematic review.</reasoning>\n</example>\n\n<example type=\"multiple_deliverables\">\n<user_message>I need: 1) competitor analysis for three companies, 2) SWOT analysis, 3) market positioning recommendations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"competitor_research\", title: \"Research three competitor companies\", status: \"in-progress\"}\n2. {id: \"swot_analysis\", title: \"Develop SWOT analysis\", status: \"todo\"}\n3. {id: \"positioning_recs\", title: \"Create market positioning recommendations\", status: \"todo\"}\n</assistant_action>\n<reasoning>User provided numbered list of distinct deliverables requiring separate effort.</reasoning>\n</example>\n\n<example type=\"skip_simple_question\">\n<user_message>What's the difference between renewable and sustainable energy?</user_message>\n<assistant_action>Provides explanation directly without creating tasks.</assistant_action>\n<reasoning>Informational request with no actionable work to complete or track.</reasoning>\n</example>\n\n<example type=\"skip_quick_lookup\">\n<user_message>Find the population of Tokyo.</user_message>\n<assistant_action>Searches and provides answer without task tracking.</assistant_action>\n<reasoning>Single straightforward lookup completable immediately.</reasoning>\n</example>\n\n<example type=\"skip_trivial_task\">\n<user_message>Summarize this 2-paragraph email.</user_message>\n<assistant_action>Provides summary directly without creating tasks.</assistant_action>\n<reasoning>Single simple action requiring no breakdown or progress tracking.</reasoning>\n</example>\n\n<example type=\"skip_single_action\">\n<user_message>Check if my flight is on time.</user_message>\n<assistant_action>Performs lookup and reports status without task management.</assistant_action>\n<reasoning>One-step action with immediate completion, no organizational benefit from tasks.</reasoning>\n</example>\n\n=== BEST PRACTICES ===\n\nFor task creation: use descriptive unique IDs reflecting the work, start first task as 'in-progress', batch initial creation with beginning work. For progress tracking: update status immediately upon completion, keep only one 'in-progress' task unless parallel work is natural, add follow-up tasks as they emerge. For task breakdown: aim for reasonably-scoped tasks, group related small actions into logical units, split tasks requiring different approaches.\n\nWhen uncertain whether to use task management, err on the side of creating tasks. Proactive organization demonstrates thoroughness and ensures comprehensive work completion.\n`;\n\nconst TaskProps = Schema.Struct({\n id: Plan.TaskId,\n title: Schema.String,\n status: Schema.Literal('todo', 'in-progress', 'done'),\n});\n\nexport const UpdateTasks = Operation.make({\n meta: {\n key: 'org.dxos.function.planning.update-tasks',\n name: 'Update tasks',\n description: INSTRUCTIONS,\n },\n input: Schema.Struct({\n tasks: Schema.Array(TaskProps),\n }),\n output: Schema.Any,\n services: [AiContextService, Database.Service],\n});\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,YAAY;AAIrB,IAAMC,eAAeC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0GrB,IAAMC,YAAmBC,cAAO;EAC9BC,IAAIC,aAAKC;EACTC,OAAcC;EACdC,QAAeC,eAAQ,QAAQ,eAAe,MAAA;AAChD,CAAA;AAEO,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAajB;EACf;EACAkB,OAAcf,cAAO;IACnBgB,OAAcC,aAAMlB,SAAAA;EACtB,CAAA;EACAmB,QAAeC;EACfC,UAAU;IAACC;IAAkBC,SAASC;;AACxC,CAAA;",
6
- "names": ["Schema", "AiContextService", "Operation", "Database", "trim", "INSTRUCTIONS", "trim", "TaskProps", "Struct", "id", "Plan", "TaskId", "title", "String", "status", "Literal", "UpdateTasks", "Operation", "make", "meta", "key", "name", "description", "input", "tasks", "Array", "output", "Any", "services", "AiContextService", "Database", "Service"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/functions/agent/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport { Routine, Trace, Operation, OperationRegistry } from '@dxos/compute';\nimport { Database, Feed, Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\n\nimport * as Chat from '../../types/Chat';\n\n// TODO(dmaretskyi): Rename to RunRoutine.\nexport const AgentPrompt = Operation.make({\n meta: {\n key: 'org.dxos.function.prompt',\n name: 'Run Routine',\n description: 'Agentic worker that executes a provided prompt using blueprints and tools.',\n },\n input: Schema.Struct({\n prompt: Ref.Ref(Routine.Routine),\n\n /**\n * When set, runs in this chat (history, queue, and bound context). Routine blueprints and context objects are merged into the conversation for this request.\n */\n chat: Schema.optional(Ref.Ref(Chat.Chat)),\n\n /**\n * @default @anthropic/claude-opus-4-6\n */\n\n model: Schema.optional(ModelName),\n /**\n * Input object or data.\n * References get auto-resolved.\n */\n input: Schema.Any.pipe(Schema.annotations({ title: 'Input' })),\n\n systemInstructions: Schema.optional(Schema.String).annotations({\n description: 'Additional system instructions to add to the system prompt.',\n }),\n }),\n output: Schema.Any,\n // ECHO types that the handler loads via Database.load(). Declaring them here ensures the\n // runtime registers their schema before remote invocation (e.g. via the EDGE function service).\n types: [Routine.Routine, Text.Text, Feed.Feed, Chat.Chat],\n services: [\n AiService.AiService,\n Database.Service,\n Feed.FeedService,\n OpaqueToolkit.OpaqueToolkitProvider,\n OperationRegistry.Service,\n Trace.TraceService,\n ],\n}).pipe(Operation.intrinsic);\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,WAAWC,eAAeC,iBAAiB;AACpD,SAASC,SAASC,OAAOC,WAAWC,yBAAyB;AAC7D,SAASC,UAAUC,MAAMC,WAAW;AACpC,SAASC,YAAY;AAKd,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBC,QAAQC,IAAIA,IAAIC,QAAQA,OAAO;;;;IAK/BC,MAAaC,gBAASH,IAAIA,IAASI,IAAI,CAAA;;;;IAMvCC,OAAcF,gBAASG,SAAAA;;;;;IAKvBT,OAAcU,WAAIC,KAAYC,mBAAY;MAAEC,OAAO;IAAQ,CAAA,CAAA;IAE3DC,oBAA2BR,gBAAgBS,aAAM,EAAEH,YAAY;MAC7Db,aAAa;IACf,CAAA;EACF,CAAA;EACAiB,QAAeN;;;EAGfO,OAAO;IAACb,QAAQA;IAASc,KAAKA;IAAMC,KAAKA;IAAWZ;;EACpDa,UAAU;IACRC,UAAUA;IACVC,SAASC;IACTJ,KAAKK;IACLC,cAAcC;IACdC,kBAAkBJ;IAClBK,MAAMC;;AAEV,CAAA,EAAGlB,KAAKjB,UAAUoC,SAAS;",
6
- "names": ["Schema", "AiService", "OpaqueToolkit", "ModelName", "Routine", "Trace", "Operation", "OperationRegistry", "Database", "Feed", "Ref", "Text", "AgentPrompt", "Operation", "make", "meta", "key", "name", "description", "input", "Struct", "prompt", "Ref", "Routine", "chat", "optional", "Chat", "model", "ModelName", "Any", "pipe", "annotations", "title", "systemInstructions", "String", "output", "types", "Text", "Feed", "services", "AiService", "Database", "Service", "FeedService", "OpaqueToolkit", "OpaqueToolkitProvider", "OperationRegistry", "Trace", "TraceService", "intrinsic"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/blueprints/database/functions/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiContextService } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\nimport { Database, Obj, Ref, Relation, Tag } from '@dxos/echo';\nimport { trim } from '@dxos/util';\n\nexport const Query = Operation.make({\n meta: {\n key: 'org.dxos.function.database.query',\n name: 'Query',\n description: trim`\n Query for objects in ECHO.\n Use this tool when searching for information in the space (both automerge and queues).\n Currently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\n You can use them together, for example, to search for objects of a specific type that match a full-text query.\n Important: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\n Omit both typename and text to search for all objects.\n\n <output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n </output_format>\n\n <example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n </example>\n\n <example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n </example>\n\n <example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n </example>\n `,\n },\n input: Schema.Struct({\n in: Schema.optional(\n Schema.Array(Ref.Ref(Obj.Unknown)).annotations({\n description:\n 'Scope the query to children of specific objects (transitively). ' +\n 'Use this to query items within containers such as feeds or folders. ' +\n 'For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`.',\n }),\n ),\n typename: Schema.optional(\n Schema.String.annotations({\n description: 'The typename of the objects to list.',\n example: 'org.dxos.type.task',\n }),\n ),\n text: Schema.optional(\n Schema.String.annotations({\n description: 'Full text search query.',\n example: 'email cyberdyne bob',\n }),\n ),\n includeContent: Schema.optional(\n Schema.Boolean.annotations({\n description: 'Include the full object data in the response.',\n default: false,\n }),\n ),\n limit: Schema.optional(\n Schema.Number.annotations({\n description: 'The maximum number of results to return.',\n default: 10,\n }),\n ),\n includeQueues: Schema.optional(\n Schema.Boolean.annotations({\n description: 'Search in queues as well as spaces. Only use this if searching for emails.',\n default: false,\n }),\n ),\n }),\n output: Schema.Array(Schema.Unknown),\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const Load = Operation.make({\n meta: {\n key: 'org.dxos.function.database.load',\n name: 'Load object',\n description: trim`\n Loads the object or relation content.\n Can load multiple objects at at time.\n Use the to read the data when you have a DXN.\n Call this tool with an array of one or more DXNs or object IDs.\n When use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\n Note that returned data is only a snapshot in time, and might have changed since the object was last loaded.\n `,\n },\n input: Schema.Struct({\n refs: Schema.Array(Ref.Ref(Obj.Unknown)),\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const ObjectCreate = Operation.make({\n meta: {\n key: 'org.dxos.function.database.object-create',\n name: 'Create object',\n description: trim`\n Creates a new object and adds it to the current space.\n Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.\n References are provided in the following format: { \"/\": \"dxn:...\" }.\n Reference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }\n `,\n },\n input: Schema.Struct({\n typename: Schema.String,\n data: Schema.Any,\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const ObjectUpdate = Operation.make({\n meta: {\n key: 'org.dxos.function.database.object-update',\n name: 'Update object',\n description: trim`\n Updates the object properties.\n References are provided in the following format: { \"/\": \"dxn:...\" }.\n Reference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }\n `,\n },\n input: Schema.Struct({\n obj: Ref.Ref(Obj.Unknown),\n properties: Schema.Record({ key: Schema.String, value: Schema.Any }),\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const ObjectDelete = Operation.make({\n meta: {\n key: 'org.dxos.function.database.object-delete',\n name: 'Delete object',\n description: trim`\n Deletes the object.\n `,\n },\n input: Schema.Struct({\n obj: Ref.Ref(Obj.Unknown),\n }),\n output: Schema.Void,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const SchemaAdd = Operation.make({\n meta: {\n key: 'org.dxos.function.database.schema-add',\n name: 'Add schema',\n description: trim`\n Adds a schema to the space.\n The name will be used when displayed to the user.\n `,\n },\n input: Schema.Struct({\n name: Schema.String,\n typename: Schema.String.annotations({\n description: 'The typename of the schema in the format of \"com.example.type.type\".',\n }),\n jsonSchema: Schema.Any,\n }),\n output: Schema.Void,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const SchemaList = Operation.make({\n meta: {\n key: 'org.dxos.function.database.schema-list',\n name: 'List schemas',\n description: trim`\n Lists schemas definitions.\n `,\n },\n input: Schema.Struct({\n limit: Schema.optional(Schema.Number),\n }),\n output: Schema.Array(Schema.Unknown),\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const ContextAdd = Operation.make({\n meta: {\n key: 'org.dxos.function.database.context-add',\n name: 'Add to context',\n description: trim`\n Adds the object to the chat context.\n Use this it for objects that are useful long-term for the conversation.\n `,\n },\n input: Schema.Struct({\n obj: Ref.Ref(Obj.Unknown).annotations({\n description: 'Object to add to the chat context.',\n }),\n }),\n output: Schema.Void,\n services: [AiContextService],\n}).pipe(Operation.intrinsic);\n\nexport const ContextRemove = Operation.make({\n meta: {\n key: 'org.dxos.function.database.context-remove',\n name: 'Remove from context',\n description: trim`\n Removes the object from the chat context.\n Use this it for objects that are no longer useful for the conversation.\n `,\n },\n input: Schema.Struct({\n obj: Ref.Ref(Obj.Unknown).annotations({\n description: 'Object to remove from the chat context.',\n }),\n }),\n output: Schema.Void,\n services: [AiContextService],\n}).pipe(Operation.intrinsic);\n\nexport const RelationCreate = Operation.make({\n meta: {\n key: 'org.dxos.function.database.relation-create',\n name: 'Create relation',\n description: trim`\n Creates a new relation and adds it to the current space.\n Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.\n `,\n },\n input: Schema.Struct({\n typename: Schema.String,\n source: Ref.Ref(Obj.Unknown),\n target: Ref.Ref(Obj.Unknown),\n properties: Schema.Any.annotations({\n description: 'The data to be stored in the relation.',\n }),\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const RelationDelete = Operation.make({\n meta: {\n key: 'org.dxos.function.database.relation-delete',\n name: 'Delete relation',\n description: trim`\n Deletes the relation.\n `,\n },\n input: Schema.Struct({\n rel: Ref.Ref(Relation.Unknown),\n }),\n output: Schema.Void,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const TagAdd = Operation.make({\n meta: {\n key: 'org.dxos.function.database.tag-add',\n name: 'Add tag',\n description: trim`\n Adds a tag to an object.\n Tags are objects of type ${Tag.Tag.typename}.\n You must search database for available tags, or create a new one.\n `,\n },\n input: Schema.Struct({\n tag: Ref.Ref(Obj.Unknown),\n obj: Ref.Ref(Obj.Unknown),\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const TagRemove = Operation.make({\n meta: {\n key: 'org.dxos.function.database.tag-remove',\n name: 'Remove tag',\n description: trim`\n Removes a tag from an object.\n Tags are objects of type ${Tag.Tag.typename}.\n `,\n },\n input: Schema.Struct({\n tag: Ref.Ref(Obj.Unknown),\n obj: Ref.Ref(Obj.Unknown),\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n}).pipe(Operation.intrinsic);\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "AiContextService", "Operation", "Database", "Obj", "Ref", "Relation", "Tag", "trim", "Query", "make", "meta", "key", "name", "description", "input", "Struct", "in", "optional", "Array", "Unknown", "annotations", "typename", "String", "example", "text", "includeContent", "Boolean", "default", "limit", "Number", "includeQueues", "output", "services", "Service", "pipe", "intrinsic", "Load", "refs", "ObjectCreate", "data", "Any", "ObjectUpdate", "obj", "properties", "Record", "value", "ObjectDelete", "Void", "SchemaAdd", "jsonSchema", "SchemaList", "ContextAdd", "ContextRemove", "RelationCreate", "source", "target", "RelationDelete", "rel", "TagAdd", "tag", "TagRemove"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/Memory.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Type } from '@dxos/echo';\n\n/**\n * Unit of knowledge generated by an agent.\n */\nexport const Memory = Schema.Struct({\n title: Schema.String,\n content: Schema.String,\n}).pipe(\n Type.object({ typename: 'org.dxos.type.memory', version: '0.1.0' }),\n Annotation.LabelAnnotation.set(['title']),\n Annotation.IconAnnotation.set({\n icon: 'ph--brain--regular',\n hue: 'pink',\n }),\n);\n\nexport interface Memory extends Schema.Schema.Type<typeof Memory> {}\n"],
5
- "mappings": ";;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,YAAY;AAK1B,IAAMC,SAAgBC,cAAO;EAClCC,OAAcC;EACdC,SAAgBD;AAClB,CAAA,EAAGE,KACDN,KAAKO,OAAO;EAAEC,UAAU;EAAwBC,SAAS;AAAQ,CAAA,GACjEV,WAAWW,gBAAgBC,IAAI;EAAC;CAAQ,GACxCZ,WAAWa,eAAeD,IAAI;EAC5BE,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;",
6
- "names": ["Schema", "Annotation", "Type", "Memory", "Struct", "title", "String", "content", "pipe", "object", "typename", "version", "LabelAnnotation", "set", "IconAnnotation", "icon", "hue"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/Chat.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Feed, Obj, Ref, Type } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\n\n/**\n * AI chat.\n */\nexport const Chat = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),\n view: Schema.String.pipe(Schema.optional),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.assistant.chat',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({\n icon: 'ph--sparkle--regular',\n hue: 'sky',\n }),\n);\n\nexport interface Chat extends Schema.Schema.Type<typeof Chat> {}\n\nexport const make = (props: Obj.MakeProps<typeof Chat>) => Obj.make(Chat, props);\n\n/** @deprecated Use CompanionTo instead. */\nexport const LegacyCompanionTo = Schema.Struct({\n id: Obj.ID,\n}).pipe(\n Type.relation({\n typename: 'org.dxos.relation.assistant.companion-to',\n version: '0.1.0',\n source: Chat,\n target: Obj.Unknown,\n }),\n);\n\nexport interface LegacyCompanionTo extends Schema.Schema.Type<typeof LegacyCompanionTo> {}\n\n/**\n * Relation between a Chat and companion objects (e.g., artifacts).\n */\nexport const CompanionTo = Schema.Struct({\n id: Obj.ID,\n}).pipe(\n Type.relation({\n typename: 'org.dxos.relation.assistant.companionTo',\n version: '0.1.0',\n source: Chat,\n target: Obj.Unknown,\n }),\n);\n\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n"],
5
- "mappings": ";;;;;AAAA;;;;;;;AAMA,YAAYA,YAAY;AAExB,SAASC,YAAYC,MAAMC,KAAKC,KAAKC,YAAY;AACjD,SAASC,qBAAqBC,uBAAuB;AAK9C,IAAMC,OAAcC,cAAO;EAChCC,MAAaC,cAAOC,KAAYC,eAAQ;EACxCC,MAAMV,IAAIA,IAAIF,KAAKA,IAAI,EAAEU,KAAKN,oBAAoBS,IAAI,KAAA,CAAA;EACtDC,MAAaL,cAAOC,KAAYC,eAAQ;AAC1C,CAAA,EAAGD,KACDP,KAAKY,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACAZ,gBAAgBQ,IAAI;EAAC;CAAO,GAC5Bd,WAAWmB,eAAeL,IAAI;EAC5BM,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAKK,IAAMC,OAAO,CAACC,UAAsCrB,IAAIoB,KAAKf,MAAMgB,KAAAA;AAGnE,IAAMC,oBAA2BhB,cAAO;EAC7CiB,IAAIvB,IAAIwB;AACV,CAAA,EAAGf,KACDP,KAAKuB,SAAS;EACZV,UAAU;EACVC,SAAS;EACTU,QAAQrB;EACRsB,QAAQ3B,IAAI4B;AACd,CAAA,CAAA;AAQK,IAAMC,cAAqBvB,cAAO;EACvCiB,IAAIvB,IAAIwB;AACV,CAAA,EAAGf,KACDP,KAAKuB,SAAS;EACZV,UAAU;EACVC,SAAS;EACTU,QAAQrB;EACRsB,QAAQ3B,IAAI4B;AACd,CAAA,CAAA;",
6
- "names": ["Schema", "Annotation", "Feed", "Obj", "Ref", "Type", "FormInputAnnotation", "LabelAnnotation", "Chat", "Struct", "name", "String", "pipe", "optional", "feed", "set", "view", "object", "typename", "version", "IconAnnotation", "icon", "hue", "make", "props", "LegacyCompanionTo", "id", "ID", "relation", "source", "target", "Unknown", "CompanionTo"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/Plan.ts", "../../../src/types/Agent.ts", "../../../src/types/McpServer.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Obj, Ref, Type } from '@dxos/echo';\n\nimport * as Chat from './Chat';\n\nexport const TaskId = Schema.String.pipe(Schema.brand('@dxos/assistant-toolkit/TaskId'));\nexport type TaskId = Schema.Schema.Type<typeof TaskId>;\n\nexport const Task = Schema.Struct({\n /**\n * Short task ID unique within the plan.\n */\n id: TaskId,\n\n title: Schema.String.annotations({\n description: 'Task title and description.',\n }),\n\n status: Schema.Literal('todo', 'in-progress', 'done'),\n\n /**\n * Parent task ID.\n */\n parent: Schema.optional(TaskId).annotations({\n description: 'Parent task ID.',\n }),\n\n /**\n * Chat object that this task is associated with.\n */\n chat: Schema.optional(Ref.Ref(Chat.Chat)),\n});\nexport interface Task extends Schema.Schema.Type<typeof Task> {}\n\n/**\n * Hierarchical collection of tasks for humans and agents to track progress.\n */\nexport const Plan = Schema.Struct({\n tasks: Schema.Array(Task),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.plan',\n version: '0.1.0',\n }),\n Annotation.SystemTypeAnnotation.set(true),\n);\nexport interface Plan extends Schema.Schema.Type<typeof Plan> {}\n\nexport const generateTaskId = (plan: Plan): TaskId => {\n const existingIds = plan.tasks\n .map((task) => {\n const [num, letter] = task.id.split('-');\n return parseInt(num);\n })\n .filter((_) => !isNaN(_));\n let newId;\n if (existingIds.length === 0) {\n newId = 1;\n } else {\n newId = Math.max(...existingIds) + 1;\n }\n // Add random suffix to avoid collisions.\n return TaskId.make(`${newId}-${crypto.randomUUID().slice(0, 2)}`);\n};\n\n/**\n * Add new tasks to a plan, generating IDs for new tasks.\n * Use inside an `Obj.update` callback.\n */\nexport const addTasks = (\n plan: Obj.Mutable<Plan>,\n tasks: (Pick<Task, 'title'> & Partial<Pick<Task, 'status' | 'parent' | 'chat'>>)[],\n) => {\n for (const task of tasks) {\n const taskId = generateTaskId(plan);\n plan.tasks.push({ id: taskId, ...task, status: task.status ?? 'todo' });\n }\n return plan;\n};\n\ninterface MakePlanProps {\n tasks: {\n title: string;\n status?: 'todo' | 'in-progress' | 'done';\n }[];\n}\n\nexport const makePlan = (props: MakePlanProps): Plan => {\n const plan = Obj.make(Plan, { tasks: [] });\n Obj.update(plan, (plan) => {\n addTasks(plan, props.tasks);\n });\n return plan;\n};\n\n/**\n * Formats plan to markdown format.\n */\nexport const formatPlan = (plan: Plan): string => {\n return plan.tasks\n .map((task) => `- **${task.status?.toLocaleUpperCase()}**: ${task.title ?? 'No title'} <!-- id=${task.id} -->`)\n .join('\\n');\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { AiContextBinder, AiContextService } from '@dxos/assistant';\nimport { type Blueprint } from '@dxos/compute';\nimport { Annotation, Database, Feed, Format, Obj, Ref, Relation, Type } from '@dxos/echo';\nimport { Queue } from '@dxos/echo-db';\nimport { type ObjectNotFoundError } from '@dxos/echo/Err';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { QueueService } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { Text } from '@dxos/schema';\n\nimport * as Chat from './Chat';\nimport * as Plan from './Plan';\n\n/**\n * Agent schema definition.\n */\nexport const Agent = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n /**\n * When false, agent triggers are disabled after sync-triggers runs.\n */\n enabled: Schema.optional(Schema.Boolean).annotations({\n title: 'Enabled',\n description: 'Master switch for agent automation; propagated to all triggers on sync.',\n }),\n\n /**\n * Instructions for the agent.\n */\n instructions: Ref.Ref(Text.Text).pipe(\n Format.FormatAnnotation.set(Format.TypeFormat.Markdown),\n Schema.annotations({ title: 'Instructions' }),\n ),\n\n /**\n * Primary chat for the agent.\n */\n // TODO(dmaretskyi): Multiple chats; RB: branching hierarchy.\n chat: Schema.optional(Ref.Ref(Chat.Chat).pipe(FormInputAnnotation.set(false))),\n\n // TODO(burdon): Is this used? Should it be an artifact?\n // Format.FormatAnnotation.set(Format.TypeFormat.Markdown)\n plan: Ref.Ref(Plan.Plan).pipe(FormInputAnnotation.set(false)),\n\n // TODO(burdon): Currently Memory.Memory objects are global to the space; make them artifacts?\n artifacts: Schema.Array(\n Schema.Struct({\n // TODO(dmaretskyi): Consider gettings names from the artifact itself using Obj.getLabel.\n name: Schema.String,\n // TODO(burdon): Rename object.\n data: Ref.Ref(Obj.Unknown),\n }),\n ).pipe(FormInputAnnotation.set(false)),\n\n /**\n * References to objects with a canonical queue property.\n * Schema must have the QueueAnnotation.\n */\n // Change to trigger.\n // TODO(dmaretskyi): Turn into an array of objects when form-data\n subscriptions: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(FormInputAnnotation.set(false)),\n\n /**\n * Cron expression for a timer trigger that invokes the agent worker on a schedule.\n * The timer trigger bypasses the qualifier and goes straight to the agent worker.\n */\n // Change to trigger.\n cron: Schema.optional(Schema.String).annotations({\n title: 'Cron',\n description: 'Cron expression for a timer trigger that invokes the agent on a schedule.',\n }),\n\n /**\n * Allow the agent to filter events.\n * Related events will be added to the input queue of the agent.\n * It is recommended to enable this.\n * @deprecated\n */\n filterEvents: Schema.optional(Schema.Boolean).annotations({\n title: 'Filter events',\n description: 'Allow the agent to filter events.',\n }),\n\n /**\n * Input feed for subscriptions.\n * @deprecated Subscriptions will write directly to the agent.\n */\n queue: Schema.optional(Ref.Ref(Queue).pipe(FormInputAnnotation.set(false))),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.agent',\n version: '0.1.0',\n }),\n Annotation.LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({\n icon: 'ph--drone--regular',\n hue: 'sky',\n }),\n);\n\nexport interface Agent extends Schema.Schema.Type<typeof Agent> {}\n\n/**\n * Creates a fully initialized Agent with chat, queue, and context bindings.\n *\n * @param props - Agent properties including spec, plan, blueprints, and context objects.\n * @param blueprint - The blueprint to use for the agent context.\n * @returns An Effect that yields the initialized Agent.\n */\nexport const makeInitialized = (\n props: Omit<Obj.MakeProps<typeof Agent>, 'instructions' | 'plan' | 'artifacts' | 'subscriptions' | 'chat'> &\n Partial<Pick<Obj.MakeProps<typeof Agent>, 'artifacts' | 'subscriptions'>> & {\n instructions: string;\n blueprints?: Ref.Ref<Blueprint.Blueprint>[];\n contextObjects?: Ref.Ref<Obj.Any>[];\n },\n blueprint: Blueprint.Blueprint,\n): Effect.Effect<Agent, never, QueueService | Feed.FeedService | Database.Service> =>\n Effect.gen(function* () {\n const agent = Obj.make(Agent, {\n ...props,\n instructions: Ref.make(Text.make({ content: props.instructions })),\n plan: Ref.make(Plan.makePlan({ tasks: [] })),\n artifacts: props.artifacts ?? [],\n subscriptions: props.subscriptions ?? [],\n filterEvents: props.filterEvents ?? true,\n enabled: props.enabled ?? true,\n });\n yield* Database.add(agent);\n const feed = yield* Database.add(Feed.make());\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const contextBinder = new AiContextBinder({ feed, runtime });\n // TODO(dmaretskyi): Blueprint registry.\n const agentBlueprint = yield* Database.add(Obj.clone(blueprint, { deep: true }));\n yield* Effect.promise(() =>\n contextBinder.bind({\n blueprints: [Ref.make(agentBlueprint), ...(props.blueprints ?? [])],\n objects: [Ref.make(agent), ...(props.contextObjects ?? [])],\n }),\n );\n const chat = yield* Database.add(\n Chat.make({\n [Obj.Parent]: agent,\n feed: Ref.make(feed),\n }),\n );\n Obj.setParent(feed, chat);\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n\n const inputQueue = yield* QueueService.createQueue();\n\n Obj.update(agent, (agent) => {\n agent.chat = Ref.make(chat);\n agent.queue = Ref.fromDXN(inputQueue.dxn);\n });\n\n return agent;\n });\n\n/**\n * Resets the agent chat history by rebuilding the chat context.\n * Preserves the existing blueprints and objects from the current chat context.\n *\n * @param agent - The agent whose chat history should be reset. Must have an existing chat.\n * @returns An Effect that resets the chat history.\n */\nexport const resetChatHistory = (\n agent: Agent,\n): Effect.Effect<void, ObjectNotFoundError, Feed.FeedService | Database.Service> =>\n Effect.gen(function* () {\n invariant(agent.chat, 'Agent must have an existing chat to reset.');\n\n const existingFeed = yield* agent.chat.pipe(Database.load).pipe(\n Effect.map((_) => _.feed),\n Effect.flatMap(Database.load),\n );\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const existingContextBinder = yield* acquireReleaseResource(\n () =>\n new AiContextBinder({\n feed: existingFeed,\n runtime,\n }),\n );\n const blueprints = existingContextBinder.getBlueprints().map((blueprint) => Ref.make(blueprint));\n const objects = existingContextBinder.getObjects().map((object) => Ref.make(object));\n\n const feed = yield* Database.add(Feed.make());\n const contextBinder = new AiContextBinder({ feed, runtime });\n yield* Effect.promise(() =>\n contextBinder.bind({\n blueprints,\n objects,\n }),\n );\n\n const chat = yield* Database.add(\n Chat.make({\n feed: Ref.make(feed),\n }),\n );\n Obj.setParent(feed, chat);\n Obj.update(agent, (agent) => {\n agent.chat = Ref.make(chat);\n });\n\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n }).pipe(Effect.scoped);\n\nexport const getFromChatContext: Effect.Effect<Agent, Error, AiContextService> = Effect.gen(function* () {\n const agents = yield* Function.pipe(AiContextService.findObjects(Agent));\n if (agents.length !== 1) {\n return yield* Effect.fail(new Error(`There should be exactly one agent in context. Got: ${agents.length}`));\n }\n\n const agent = agents[0];\n return agent;\n});\n", "//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { McpServer as McpServerSpec } from '@dxos/compute';\nimport { Annotation, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo/internal';\n\n/**\n * MCP server configuration stored as a space-level ECHO object.\n *\n * Composes the canonical connection spec from `@dxos/compute` (`url`, `protocol`, `apiKey`)\n * and adds instance-level fields (`name`, `enabled`) plus ECHO annotations.\n *\n * NOTE: `apiKey` is stored in plaintext and replicated to all peers with access to the space.\n * A future iteration should move secrets to per-device credential storage or use envelope encryption.\n */\nexport const McpServer = Schema.Struct({\n ...McpServerSpec.McpServer.fields,\n enabled: Schema.optional(Schema.Boolean),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.assistant.mcpServer',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({\n icon: 'ph--plugs-connected--regular',\n hue: 'sky',\n }),\n);\n\nexport interface McpServer extends Schema.Schema.Type<typeof McpServer> {}\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "Annotation", "Obj", "Ref", "Type", "TaskId", "String", "pipe", "brand", "Task", "Struct", "id", "title", "annotations", "description", "status", "Literal", "parent", "optional", "chat", "Ref", "Chat", "Plan", "tasks", "Array", "Type", "object", "typename", "version", "Annotation", "SystemTypeAnnotation", "set", "generateTaskId", "plan", "existingIds", "map", "task", "num", "letter", "split", "parseInt", "filter", "_", "isNaN", "newId", "length", "Math", "max", "make", "crypto", "randomUUID", "slice", "addTasks", "taskId", "push", "makePlan", "props", "Obj", "update", "formatPlan", "toLocaleUpperCase", "join", "Effect", "Function", "Schema", "AiContextBinder", "AiContextService", "Annotation", "Database", "Feed", "Format", "Obj", "Ref", "Relation", "Type", "Queue", "FormInputAnnotation", "acquireReleaseResource", "QueueService", "invariant", "Text", "Ref", "artifacts", "Array", "Schema", "String", "data", "Obj", "description", "typename", "version", "Annotation", "IconAnnotation", "set", "icon", "hue", "props", "instructions", "make", "Text", "plan", "Plan", "subscriptions", "filterEvents", "enabled", "Database", "agent", "runtime", "Effect", "contextBinder", "AiContextBinder", "feed", "agentBlueprint", "objects", "chat", "setParent", "Source", "Relation", "Target", "inputQueue", "queue", "fromDXN", "existingFeed", "pipe", "existingContextBinder", "acquireReleaseResource", "blueprints", "add", "scoped", "agents", "Error", "Schema", "McpServer", "McpServerSpec", "Annotation", "Type", "LabelAnnotation", "Struct", "fields", "enabled", "optional", "Boolean", "pipe", "object", "typename", "version", "set", "IconAnnotation", "icon", "hue"]
7
- }