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

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 (506) hide show
  1. package/dist/lib/neutral/add-artifact-ZUJ5DMSY.mjs +30 -0
  2. package/dist/lib/neutral/add-artifact-ZUJ5DMSY.mjs.map +7 -0
  3. package/dist/lib/neutral/agent-5NIKAYUK.mjs +65 -0
  4. package/dist/lib/neutral/agent-5NIKAYUK.mjs.map +7 -0
  5. package/dist/lib/neutral/chunk-246ACKSH.mjs +100 -0
  6. package/dist/lib/neutral/chunk-246ACKSH.mjs.map +7 -0
  7. package/dist/lib/neutral/chunk-EJAQUAKM.mjs +73 -0
  8. package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +7 -0
  9. package/dist/lib/neutral/chunk-FIGO6CA6.mjs +140 -0
  10. package/dist/lib/neutral/chunk-FIGO6CA6.mjs.map +7 -0
  11. package/dist/lib/neutral/chunk-GV66MKAQ.mjs +60 -0
  12. package/dist/lib/neutral/chunk-GV66MKAQ.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-IKBIORQX.mjs +332 -0
  14. package/dist/lib/neutral/chunk-IKBIORQX.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-KGU725LW.mjs +29 -0
  16. package/dist/lib/neutral/chunk-KGU725LW.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-NR3GTWRC.mjs +53 -0
  18. package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-P4ZMYO4K.mjs +294 -0
  20. package/dist/lib/neutral/chunk-P4ZMYO4K.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-QO5SU37C.mjs +70 -0
  22. package/dist/lib/neutral/chunk-QO5SU37C.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-ROMZO4CB.mjs +108 -0
  24. package/dist/lib/neutral/chunk-ROMZO4CB.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-TO5IX24K.mjs +67 -0
  26. package/dist/lib/neutral/chunk-TO5IX24K.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-WLR3BGO4.mjs +25 -0
  28. package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-XUF53B6B.mjs +75 -0
  30. package/dist/lib/neutral/chunk-XUF53B6B.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-ZFXLTBZG.mjs +73 -0
  32. package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +7 -0
  33. package/dist/lib/neutral/context-add-VB7AOY3G.mjs +22 -0
  34. package/dist/lib/neutral/context-add-VB7AOY3G.mjs.map +7 -0
  35. package/dist/lib/neutral/context-remove-VCM3VPSO.mjs +22 -0
  36. package/dist/lib/neutral/context-remove-VCM3VPSO.mjs.map +7 -0
  37. package/dist/lib/neutral/create-project-EIF4OJMY.mjs +35 -0
  38. package/dist/lib/neutral/create-project-EIF4OJMY.mjs.map +7 -0
  39. package/dist/lib/neutral/delete-J3PMWP7Z.mjs +19 -0
  40. package/dist/lib/neutral/delete-J3PMWP7Z.mjs.map +7 -0
  41. package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs +47 -0
  42. package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs.map +7 -0
  43. package/dist/lib/neutral/fetch-KHMHV7JR.mjs +16 -0
  44. package/dist/lib/neutral/fetch-KHMHV7JR.mjs.map +7 -0
  45. package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs +139 -0
  46. package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs.map +7 -0
  47. package/dist/lib/neutral/get-context-TN7X7U2H.mjs +35 -0
  48. package/dist/lib/neutral/get-context-TN7X7U2H.mjs.map +7 -0
  49. package/dist/lib/neutral/index.mjs +581 -3293
  50. package/dist/lib/neutral/index.mjs.map +4 -4
  51. package/dist/lib/neutral/load-ALP3TK2E.mjs +17 -0
  52. package/dist/lib/neutral/load-ALP3TK2E.mjs.map +7 -0
  53. package/dist/lib/neutral/meta.json +1 -1
  54. package/dist/lib/neutral/object-create-Z57Y3X6Y.mjs +35 -0
  55. package/dist/lib/neutral/object-create-Z57Y3X6Y.mjs.map +7 -0
  56. package/dist/lib/neutral/object-delete-X53LS37B.mjs +18 -0
  57. package/dist/lib/neutral/object-delete-X53LS37B.mjs.map +7 -0
  58. package/dist/lib/neutral/object-update-GVKSBR7T.mjs +28 -0
  59. package/dist/lib/neutral/object-update-GVKSBR7T.mjs.map +7 -0
  60. package/dist/lib/neutral/project-HPHTZ2CI.mjs +23 -0
  61. package/dist/lib/neutral/project-HPHTZ2CI.mjs.map +7 -0
  62. package/dist/lib/neutral/project-rules-IVDHKSKI.mjs +78 -0
  63. package/dist/lib/neutral/project-rules-IVDHKSKI.mjs.map +7 -0
  64. package/dist/lib/neutral/prompt-Y7NN7M5D.mjs +170 -0
  65. package/dist/lib/neutral/prompt-Y7NN7M5D.mjs.map +7 -0
  66. package/dist/lib/neutral/qualifier-VDOY5CWU.mjs +88 -0
  67. package/dist/lib/neutral/qualifier-VDOY5CWU.mjs.map +7 -0
  68. package/dist/lib/neutral/query-PPJU5622.mjs +70 -0
  69. package/dist/lib/neutral/query-PPJU5622.mjs.map +7 -0
  70. package/dist/lib/neutral/query-U56GNEV6.mjs +32 -0
  71. package/dist/lib/neutral/query-U56GNEV6.mjs.map +7 -0
  72. package/dist/lib/neutral/query-blueprints-KXADGHSA.mjs +16 -0
  73. package/dist/lib/neutral/query-blueprints-KXADGHSA.mjs.map +7 -0
  74. package/dist/lib/neutral/relation-create-XJ2IX6X3.mjs +34 -0
  75. package/dist/lib/neutral/relation-create-XJ2IX6X3.mjs.map +7 -0
  76. package/dist/lib/neutral/relation-delete-EP4KXAFL.mjs +18 -0
  77. package/dist/lib/neutral/relation-delete-EP4KXAFL.mjs.map +7 -0
  78. package/dist/lib/neutral/save-GWAPLT3Z.mjs +23 -0
  79. package/dist/lib/neutral/save-GWAPLT3Z.mjs.map +7 -0
  80. package/dist/lib/neutral/schema-add-Z5CY6P24.mjs +24 -0
  81. package/dist/lib/neutral/schema-add-Z5CY6P24.mjs.map +7 -0
  82. package/dist/lib/neutral/schema-list-W326VPVX.mjs +38 -0
  83. package/dist/lib/neutral/schema-list-W326VPVX.mjs.map +7 -0
  84. package/dist/lib/neutral/sync-issues-4YE5XAK5.mjs +167 -0
  85. package/dist/lib/neutral/sync-issues-4YE5XAK5.mjs.map +7 -0
  86. package/dist/lib/neutral/sync-triggers-CDMJVW6E.mjs +136 -0
  87. package/dist/lib/neutral/sync-triggers-CDMJVW6E.mjs.map +7 -0
  88. package/dist/lib/neutral/tag-add-VNIIOVJA.mjs +19 -0
  89. package/dist/lib/neutral/tag-add-VNIIOVJA.mjs.map +7 -0
  90. package/dist/lib/neutral/tag-remove-6R2R27W3.mjs +19 -0
  91. package/dist/lib/neutral/tag-remove-6R2R27W3.mjs.map +7 -0
  92. package/dist/lib/neutral/testing/index.mjs +9 -14
  93. package/dist/lib/neutral/testing/index.mjs.map +3 -3
  94. package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs +16 -0
  95. package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs.map +7 -0
  96. package/dist/lib/neutral/update-tasks-H7SWIFQL.mjs +46 -0
  97. package/dist/lib/neutral/update-tasks-H7SWIFQL.mjs.map +7 -0
  98. package/dist/types/src/blueprints/automation/blueprint.d.ts +4 -0
  99. package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -0
  100. package/dist/types/src/blueprints/automation/index.d.ts +2 -0
  101. package/dist/types/src/blueprints/automation/index.d.ts.map +1 -0
  102. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +4 -0
  103. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -0
  104. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +1 -0
  105. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +63 -0
  106. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -0
  107. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +37 -0
  108. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -0
  109. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +4 -0
  110. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +28 -0
  112. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +4 -0
  114. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/blueprint-manager/index.d.ts +3 -0
  116. package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/browser/blueprint.d.ts +2 -2
  118. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -1
  119. package/dist/types/src/blueprints/database/blueprint.d.ts +2 -2
  120. package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -1
  121. package/dist/types/src/blueprints/database/functions/context-add.d.ts +5 -4
  122. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -1
  123. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +5 -4
  124. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -1
  125. package/dist/types/src/blueprints/database/functions/definitions.d.ts +59 -0
  126. package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -0
  127. package/dist/types/src/blueprints/database/functions/index.d.ts +3 -56
  128. package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -1
  129. package/dist/types/src/blueprints/database/functions/load.d.ts +5 -4
  130. package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -1
  131. package/dist/types/src/blueprints/database/functions/object-create.d.ts +5 -3
  132. package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -1
  133. package/dist/types/src/blueprints/database/functions/object-delete.d.ts +5 -4
  134. package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -1
  135. package/dist/types/src/blueprints/database/functions/object-update.d.ts +5 -4
  136. package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -1
  137. package/dist/types/src/blueprints/database/functions/query.d.ts +7 -3
  138. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -1
  139. package/dist/types/src/blueprints/database/functions/relation-create.d.ts +6 -5
  140. package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -1
  141. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +5 -4
  142. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -1
  143. package/dist/types/src/blueprints/database/functions/schema-add.d.ts +4 -2
  144. package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -1
  145. package/dist/types/src/blueprints/database/functions/schema-list.d.ts +4 -2
  146. package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -1
  147. package/dist/types/src/blueprints/database/functions/tag-add.d.ts +4 -3
  148. package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -1
  149. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +4 -3
  150. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -1
  151. package/dist/types/src/blueprints/database/index.d.ts +1 -1
  152. package/dist/types/src/blueprints/database/index.d.ts.map +1 -1
  153. package/dist/types/src/blueprints/discord/blueprint.d.ts +2 -2
  154. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -1
  155. package/dist/types/src/blueprints/discord/functions/definitions.d.ts +15 -0
  156. package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -0
  157. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts +3 -2
  158. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -1
  159. package/dist/types/src/blueprints/discord/functions/index.d.ts +3 -11
  160. package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -1
  161. package/dist/types/src/blueprints/discord/index.d.ts +1 -0
  162. package/dist/types/src/blueprints/discord/index.d.ts.map +1 -1
  163. package/dist/types/src/blueprints/github/functions/definitions.d.ts +7 -0
  164. package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -0
  165. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +4 -2
  166. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -1
  167. package/dist/types/src/blueprints/github/functions/index.d.ts +3 -6
  168. package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -1
  169. package/dist/types/src/blueprints/github/index.d.ts +1 -0
  170. package/dist/types/src/blueprints/github/index.d.ts.map +1 -1
  171. package/dist/types/src/blueprints/index.d.ts +4 -3
  172. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  173. package/dist/types/src/blueprints/linear/blueprint.d.ts +2 -2
  174. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -1
  175. package/dist/types/src/blueprints/linear/functions/definitions.d.ts +6 -0
  176. package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -0
  177. package/dist/types/src/blueprints/linear/functions/index.d.ts +3 -8
  178. package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -1
  179. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +4 -6
  180. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -1
  181. package/dist/types/src/blueprints/linear/index.d.ts +1 -0
  182. package/dist/types/src/blueprints/linear/index.d.ts.map +1 -1
  183. package/dist/types/src/blueprints/memory/blueprint.d.ts +4 -0
  184. package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -0
  185. package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +1 -0
  186. package/dist/types/src/blueprints/memory/functions/definitions.d.ts +17 -0
  187. package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -0
  188. package/dist/types/src/blueprints/memory/functions/delete.d.ts +10 -0
  189. package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -0
  190. package/dist/types/src/blueprints/memory/functions/index.d.ts +4 -0
  191. package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -0
  192. package/dist/types/src/blueprints/memory/functions/query.d.ts +8 -0
  193. package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -0
  194. package/dist/types/src/blueprints/memory/functions/save.d.ts +8 -0
  195. package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -0
  196. package/dist/types/src/blueprints/memory/index.d.ts +3 -0
  197. package/dist/types/src/blueprints/memory/index.d.ts.map +1 -0
  198. package/dist/types/src/blueprints/planning/blueprint.d.ts +2 -2
  199. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -1
  200. package/dist/types/src/blueprints/planning/functions/definitions.d.ts +11 -0
  201. package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +1 -0
  202. package/dist/types/src/blueprints/planning/functions/index.d.ts +3 -9
  203. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -1
  204. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +5 -3
  205. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -1
  206. package/dist/types/src/blueprints/planning/index.d.ts +1 -0
  207. package/dist/types/src/blueprints/planning/index.d.ts.map +1 -1
  208. package/dist/types/src/blueprints/project/blueprint.d.ts +2 -2
  209. package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -1
  210. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +4 -3
  211. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -1
  212. package/dist/types/src/blueprints/project/functions/agent.d.ts +2 -60
  213. package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -1
  214. package/dist/types/src/blueprints/project/functions/definitions.d.ts +158 -0
  215. package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -0
  216. package/dist/types/src/blueprints/project/functions/get-context.d.ts +6 -4
  217. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -1
  218. package/dist/types/src/blueprints/project/functions/index.d.ts +3 -132
  219. package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -1
  220. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +30 -17
  221. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -1
  222. package/dist/types/src/blueprints/project/index.d.ts +2 -2
  223. package/dist/types/src/blueprints/project/index.d.ts.map +1 -1
  224. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +4 -0
  225. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -0
  226. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +51 -0
  227. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -0
  228. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +96 -0
  229. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -0
  230. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +4 -0
  231. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -0
  232. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +4 -0
  233. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -0
  234. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +48 -0
  235. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -0
  236. package/dist/types/src/blueprints/project-wizard/index.d.ts +3 -0
  237. package/dist/types/src/blueprints/project-wizard/index.d.ts.map +1 -0
  238. package/dist/types/src/blueprints/testing.d.ts +5 -15
  239. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  240. package/dist/types/src/blueprints/websearch/blueprint.d.ts +2 -2
  241. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -1
  242. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +1 -0
  243. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +5 -0
  244. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -0
  245. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +6 -0
  246. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -0
  247. package/dist/types/src/blueprints/websearch/functions/index.d.ts +4 -0
  248. package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -0
  249. package/dist/types/src/blueprints/websearch/index.d.ts +2 -1
  250. package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
  251. package/dist/types/src/blueprints/websearch/toolkit.d.ts +2 -0
  252. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -1
  253. package/dist/types/src/crud/graph.d.ts +1 -1
  254. package/dist/types/src/crud/graph.d.ts.map +1 -1
  255. package/dist/types/src/errors.d.ts +41 -0
  256. package/dist/types/src/errors.d.ts.map +1 -0
  257. package/dist/types/src/functions/agent/definitions.d.ts +62 -0
  258. package/dist/types/src/functions/agent/definitions.d.ts.map +1 -0
  259. package/dist/types/src/functions/agent/index.d.ts +3 -84
  260. package/dist/types/src/functions/agent/index.d.ts.map +1 -1
  261. package/dist/types/src/functions/agent/prompt.d.ts +2 -82
  262. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  263. package/dist/types/src/functions/agent/prompt.test.d.ts +2 -0
  264. package/dist/types/src/functions/agent/prompt.test.d.ts.map +1 -0
  265. package/dist/types/src/functions/index.d.ts +0 -2
  266. package/dist/types/src/functions/index.d.ts.map +1 -1
  267. package/dist/types/src/sync/sync.d.ts.map +1 -1
  268. package/dist/types/src/testing/plugins.d.ts.map +1 -1
  269. package/dist/types/src/toolkits/WebToolkit.d.ts.map +1 -1
  270. package/dist/types/src/types/Agent.d.ts +77 -0
  271. package/dist/types/src/types/Agent.d.ts.map +1 -0
  272. package/dist/types/src/types/Chat.d.ts +32 -7
  273. package/dist/types/src/types/Chat.d.ts.map +1 -1
  274. package/dist/types/src/types/McpServer.d.ts +21 -0
  275. package/dist/types/src/types/McpServer.d.ts.map +1 -0
  276. package/dist/types/src/types/Memory.d.ts +12 -0
  277. package/dist/types/src/types/Memory.d.ts.map +1 -0
  278. package/dist/types/src/types/Plan.d.ts +23 -11
  279. package/dist/types/src/types/Plan.d.ts.map +1 -1
  280. package/dist/types/src/types/index.d.ts +3 -1
  281. package/dist/types/src/types/index.d.ts.map +1 -1
  282. package/dist/types/src/util/graphql.d.ts.map +1 -1
  283. package/dist/types/tsconfig.tsbuildinfo +1 -1
  284. package/package.json +27 -31
  285. package/src/blueprints/automation/blueprint.ts +105 -0
  286. package/src/blueprints/automation/index.ts +5 -0
  287. package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -0
  288. package/src/blueprints/blueprint-manager/blueprint.test.ts +198 -0
  289. package/src/blueprints/blueprint-manager/blueprint.ts +49 -0
  290. package/src/blueprints/blueprint-manager/functions/definitions.ts +57 -0
  291. package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +43 -0
  292. package/src/blueprints/blueprint-manager/functions/index.ts +13 -0
  293. package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +18 -0
  294. package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +18 -0
  295. package/src/blueprints/blueprint-manager/index.ts +6 -0
  296. package/src/blueprints/browser/blueprint.test.ts +23 -32
  297. package/src/blueprints/browser/blueprint.ts +5 -6
  298. package/src/blueprints/database/blueprint.conversations.json +1 -1
  299. package/src/blueprints/database/blueprint.test.ts +308 -98
  300. package/src/blueprints/database/blueprint.ts +37 -10
  301. package/src/blueprints/database/functions/context-add.ts +15 -26
  302. package/src/blueprints/database/functions/context-remove.ts +16 -27
  303. package/src/blueprints/database/functions/definitions.ts +318 -0
  304. package/src/blueprints/database/functions/index.ts +18 -28
  305. package/src/blueprints/database/functions/load.ts +11 -23
  306. package/src/blueprints/database/functions/object-create.ts +28 -25
  307. package/src/blueprints/database/functions/object-delete.ts +13 -20
  308. package/src/blueprints/database/functions/object-update.ts +23 -25
  309. package/src/blueprints/database/functions/query.ts +48 -110
  310. package/src/blueprints/database/functions/relation-create.ts +25 -38
  311. package/src/blueprints/database/functions/relation-delete.ts +14 -21
  312. package/src/blueprints/database/functions/schema-add.ts +19 -31
  313. package/src/blueprints/database/functions/schema-list.ts +26 -27
  314. package/src/blueprints/database/functions/tag-add.ts +14 -24
  315. package/src/blueprints/database/functions/tag-remove.ts +14 -23
  316. package/src/blueprints/database/index.ts +16 -1
  317. package/src/blueprints/discord/blueprint.ts +6 -11
  318. package/src/blueprints/discord/functions/definitions.ts +70 -0
  319. package/src/blueprints/discord/functions/fetch-messages.test.ts +15 -25
  320. package/src/blueprints/discord/functions/fetch-messages.ts +98 -152
  321. package/src/blueprints/discord/functions/index.ts +4 -4
  322. package/src/blueprints/discord/index.ts +1 -0
  323. package/src/blueprints/github/functions/definitions.ts +26 -0
  324. package/src/blueprints/github/functions/fetch-prs.ts +15 -22
  325. package/src/blueprints/github/functions/index.ts +4 -4
  326. package/src/blueprints/github/index.ts +2 -0
  327. package/src/blueprints/index.ts +4 -3
  328. package/src/blueprints/linear/blueprint.ts +6 -11
  329. package/src/blueprints/linear/functions/definitions.ts +23 -0
  330. package/src/blueprints/linear/functions/index.ts +4 -4
  331. package/src/blueprints/linear/functions/linear.test.ts +7 -7
  332. package/src/blueprints/linear/functions/sync-issues.ts +31 -39
  333. package/src/blueprints/linear/index.ts +1 -0
  334. package/src/blueprints/memory/blueprint.conversations.json +1 -0
  335. package/src/blueprints/memory/blueprint.test.ts +139 -0
  336. package/src/blueprints/memory/blueprint.ts +41 -0
  337. package/src/blueprints/memory/functions/definitions.ts +68 -0
  338. package/src/blueprints/memory/functions/delete.ts +20 -0
  339. package/src/blueprints/memory/functions/index.ts +13 -0
  340. package/src/blueprints/memory/functions/query.ts +32 -0
  341. package/src/blueprints/memory/functions/save.ts +20 -0
  342. package/src/blueprints/memory/index.ts +6 -0
  343. package/src/blueprints/planning/blueprint.ts +5 -9
  344. package/src/blueprints/planning/functions/definitions.ts +137 -0
  345. package/src/blueprints/planning/functions/index.ts +4 -4
  346. package/src/blueprints/planning/functions/update-tasks.ts +35 -158
  347. package/src/blueprints/planning/index.ts +1 -0
  348. package/src/blueprints/project/blueprint.conversations.json +1 -0
  349. package/src/blueprints/project/blueprint.test.ts +246 -111
  350. package/src/blueprints/project/blueprint.ts +21 -25
  351. package/src/blueprints/project/functions/add-artifact.ts +19 -30
  352. package/src/blueprints/project/functions/agent.ts +43 -46
  353. package/src/blueprints/project/functions/definitions.ts +92 -0
  354. package/src/blueprints/project/functions/get-context.ts +36 -53
  355. package/src/blueprints/project/functions/index.ts +9 -10
  356. package/src/blueprints/project/functions/qualifier.ts +66 -72
  357. package/src/blueprints/project/index.ts +2 -2
  358. package/src/blueprints/project-wizard/blueprint.ts +52 -0
  359. package/src/blueprints/project-wizard/functions/create-project.ts +32 -0
  360. package/src/blueprints/project-wizard/functions/definitions.ts +63 -0
  361. package/src/blueprints/project-wizard/functions/index.ts +13 -0
  362. package/src/blueprints/project-wizard/functions/project-rules.ts +77 -0
  363. package/src/blueprints/project-wizard/functions/sync-triggers.ts +158 -0
  364. package/src/blueprints/project-wizard/index.ts +6 -0
  365. package/src/blueprints/testing.ts +7 -23
  366. package/src/blueprints/websearch/blueprint.conversations.json +1 -0
  367. package/src/blueprints/websearch/blueprint.test.ts +39 -0
  368. package/src/blueprints/websearch/blueprint.ts +6 -8
  369. package/src/blueprints/websearch/functions/definitions.ts +25 -0
  370. package/src/blueprints/websearch/functions/fetch.ts +18 -0
  371. package/src/blueprints/websearch/functions/index.ts +9 -0
  372. package/src/blueprints/websearch/index.ts +2 -1
  373. package/src/blueprints/websearch/toolkit.ts +6 -1
  374. package/src/crud/graph.test.ts +10 -12
  375. package/src/crud/graph.ts +2 -2
  376. package/src/errors.ts +25 -0
  377. package/src/functions/agent/definitions.ts +56 -0
  378. package/src/functions/agent/index.ts +4 -4
  379. package/src/functions/agent/prompt.conversations.json +1 -0
  380. package/src/functions/agent/prompt.test.ts +81 -0
  381. package/src/functions/agent/prompt.ts +212 -96
  382. package/src/functions/index.ts +0 -2
  383. package/src/sync/sync.ts +23 -12
  384. package/src/testing/plugins.tsx +10 -3
  385. package/src/toolkits/WebToolkit.ts +1 -1
  386. package/src/types/Agent.ts +240 -0
  387. package/src/types/Chat.ts +24 -10
  388. package/src/types/McpServer.ts +37 -0
  389. package/src/types/Memory.ts +24 -0
  390. package/src/types/Plan.ts +7 -4
  391. package/src/types/index.ts +3 -1
  392. package/dist/types/src/blueprints/design/blueprint.d.ts +0 -4
  393. package/dist/types/src/blueprints/design/blueprint.d.ts.map +0 -1
  394. package/dist/types/src/blueprints/design/blueprint.test.d.ts.map +0 -1
  395. package/dist/types/src/blueprints/design/index.d.ts +0 -2
  396. package/dist/types/src/blueprints/design/index.d.ts.map +0 -1
  397. package/dist/types/src/blueprints/markdown/blueprint.d.ts +0 -4
  398. package/dist/types/src/blueprints/markdown/blueprint.d.ts.map +0 -1
  399. package/dist/types/src/blueprints/markdown/functions/create.d.ts +0 -6
  400. package/dist/types/src/blueprints/markdown/functions/create.d.ts.map +0 -1
  401. package/dist/types/src/blueprints/markdown/functions/index.d.ts +0 -30
  402. package/dist/types/src/blueprints/markdown/functions/index.d.ts.map +0 -1
  403. package/dist/types/src/blueprints/markdown/functions/read.d.ts +0 -14
  404. package/dist/types/src/blueprints/markdown/functions/read.d.ts.map +0 -1
  405. package/dist/types/src/blueprints/markdown/functions/update.d.ts +0 -13
  406. package/dist/types/src/blueprints/markdown/functions/update.d.ts.map +0 -1
  407. package/dist/types/src/blueprints/markdown/index.d.ts +0 -3
  408. package/dist/types/src/blueprints/markdown/index.d.ts.map +0 -1
  409. package/dist/types/src/blueprints/planning-old/blueprint.d.ts +0 -4
  410. package/dist/types/src/blueprints/planning-old/blueprint.d.ts.map +0 -1
  411. package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts.map +0 -1
  412. package/dist/types/src/blueprints/planning-old/functions/index.d.ts +0 -29
  413. package/dist/types/src/blueprints/planning-old/functions/index.d.ts.map +0 -1
  414. package/dist/types/src/blueprints/planning-old/functions/read.d.ts +0 -14
  415. package/dist/types/src/blueprints/planning-old/functions/read.d.ts.map +0 -1
  416. package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts +0 -74
  417. package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts.map +0 -1
  418. package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts +0 -2
  419. package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts.map +0 -1
  420. package/dist/types/src/blueprints/planning-old/functions/update.d.ts +0 -16
  421. package/dist/types/src/blueprints/planning-old/functions/update.d.ts.map +0 -1
  422. package/dist/types/src/blueprints/planning-old/index.d.ts +0 -2
  423. package/dist/types/src/blueprints/planning-old/index.d.ts.map +0 -1
  424. package/dist/types/src/blueprints/research/blueprint.d.ts +0 -4
  425. package/dist/types/src/blueprints/research/blueprint.d.ts.map +0 -1
  426. package/dist/types/src/blueprints/research/blueprint.test.d.ts.map +0 -1
  427. package/dist/types/src/blueprints/research/functions/document-create.d.ts +0 -10
  428. package/dist/types/src/blueprints/research/functions/document-create.d.ts.map +0 -1
  429. package/dist/types/src/blueprints/research/functions/index.d.ts +0 -19
  430. package/dist/types/src/blueprints/research/functions/index.d.ts.map +0 -1
  431. package/dist/types/src/blueprints/research/functions/research.d.ts +0 -14
  432. package/dist/types/src/blueprints/research/functions/research.d.ts.map +0 -1
  433. package/dist/types/src/blueprints/research/functions/research.test.d.ts +0 -2
  434. package/dist/types/src/blueprints/research/functions/research.test.d.ts.map +0 -1
  435. package/dist/types/src/blueprints/research/index.d.ts +0 -3
  436. package/dist/types/src/blueprints/research/index.d.ts.map +0 -1
  437. package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts +0 -18
  438. package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts.map +0 -1
  439. package/dist/types/src/blueprints/research/types/index.d.ts +0 -7
  440. package/dist/types/src/blueprints/research/types/index.d.ts.map +0 -1
  441. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +0 -179
  442. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +0 -1
  443. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts +0 -2
  444. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts.map +0 -1
  445. package/dist/types/src/functions/entity-extraction/index.d.ts +0 -179
  446. package/dist/types/src/functions/entity-extraction/index.d.ts.map +0 -1
  447. package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts +0 -38
  448. package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts.map +0 -1
  449. package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts +0 -37
  450. package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts.map +0 -1
  451. package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts +0 -58
  452. package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts.map +0 -1
  453. package/dist/types/src/functions/exa/data/index.d.ts +0 -3
  454. package/dist/types/src/functions/exa/data/index.d.ts.map +0 -1
  455. package/dist/types/src/functions/exa/exa.d.ts +0 -5
  456. package/dist/types/src/functions/exa/exa.d.ts.map +0 -1
  457. package/dist/types/src/functions/exa/index.d.ts +0 -9
  458. package/dist/types/src/functions/exa/index.d.ts.map +0 -1
  459. package/dist/types/src/functions/exa/mock.d.ts +0 -5
  460. package/dist/types/src/functions/exa/mock.d.ts.map +0 -1
  461. package/dist/types/src/types/Project.d.ts +0 -67
  462. package/dist/types/src/types/Project.d.ts.map +0 -1
  463. package/src/blueprints/browser/blueprint.conversations.json +0 -1
  464. package/src/blueprints/design/blueprint.test.ts +0 -96
  465. package/src/blueprints/design/blueprint.ts +0 -46
  466. package/src/blueprints/design/index.ts +0 -5
  467. package/src/blueprints/markdown/blueprint.ts +0 -38
  468. package/src/blueprints/markdown/functions/create.ts +0 -29
  469. package/src/blueprints/markdown/functions/index.ts +0 -13
  470. package/src/blueprints/markdown/functions/read.ts +0 -32
  471. package/src/blueprints/markdown/functions/update.ts +0 -32
  472. package/src/blueprints/markdown/index.ts +0 -6
  473. package/src/blueprints/planning-old/blueprint.test.ts +0 -122
  474. package/src/blueprints/planning-old/blueprint.ts +0 -110
  475. package/src/blueprints/planning-old/functions/index.ts +0 -11
  476. package/src/blueprints/planning-old/functions/read.ts +0 -34
  477. package/src/blueprints/planning-old/functions/task-list.test.ts +0 -99
  478. package/src/blueprints/planning-old/functions/task-list.ts +0 -165
  479. package/src/blueprints/planning-old/functions/update.ts +0 -52
  480. package/src/blueprints/planning-old/index.ts +0 -5
  481. package/src/blueprints/research/blueprint.test.ts +0 -7
  482. package/src/blueprints/research/blueprint.ts +0 -65
  483. package/src/blueprints/research/functions/document-create.ts +0 -73
  484. package/src/blueprints/research/functions/index.ts +0 -11
  485. package/src/blueprints/research/functions/research-instructions.tpl +0 -106
  486. package/src/blueprints/research/functions/research.conversations.json +0 -1
  487. package/src/blueprints/research/functions/research.test.ts +0 -149
  488. package/src/blueprints/research/functions/research.ts +0 -175
  489. package/src/blueprints/research/index.ts +0 -6
  490. package/src/blueprints/research/types/ResearchGraph.ts +0 -49
  491. package/src/blueprints/research/types/index.ts +0 -32
  492. package/src/functions/entity-extraction/entity-extraction.conversations.json +0 -1
  493. package/src/functions/entity-extraction/entity-extraction.test.ts +0 -74
  494. package/src/functions/entity-extraction/entity-extraction.ts +0 -181
  495. package/src/functions/entity-extraction/index.ts +0 -9
  496. package/src/functions/exa/data/exa-search-1748337321991.ts +0 -131
  497. package/src/functions/exa/data/exa-search-1748337331526.ts +0 -144
  498. package/src/functions/exa/data/exa-search-1748337344119.ts +0 -133
  499. package/src/functions/exa/data/index.ts +0 -11
  500. package/src/functions/exa/exa.ts +0 -37
  501. package/src/functions/exa/index.ts +0 -11
  502. package/src/functions/exa/mock.ts +0 -71
  503. package/src/types/Project.ts +0 -196
  504. /package/dist/types/src/blueprints/{design → blueprint-manager}/blueprint.test.d.ts +0 -0
  505. /package/dist/types/src/blueprints/{planning-old → memory}/blueprint.test.d.ts +0 -0
  506. /package/dist/types/src/blueprints/{research → websearch}/blueprint.test.d.ts +0 -0
@@ -3,124 +3,62 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
6
 
8
- import { Entity, Filter, Obj, Query } from '@dxos/echo';
7
+ import { Operation } from '@dxos/compute';
8
+ import { Entity, Filter, Obj, Query as EchoQuery } from '@dxos/echo';
9
9
  import { Database } from '@dxos/echo';
10
- import { defineFunction } from '@dxos/functions';
11
- import { trim } from '@dxos/util';
12
10
 
13
- // TODO(burdon): Move to toolkit (i.e., tool not function).
14
- export default defineFunction({
15
- key: 'dxos.org/function/database/query',
16
- name: 'Query',
17
- description: trim`
18
- Query for objects in ECHO.
19
- Use this tool when searching for information in the space (both automerge and queues).
20
- Currently, two types of queries are supported:
21
- - Full-text search - terms may appear anywhere in the object.
22
- - Type-based search - objects of a specific type.
23
- You can use them together, for example, to search for objects of a specific type that match a full-text query.
24
- Important: Whem querying by typename, make sure to list the schema first, to get the exact typename.
25
-
26
- Omit both typename and text to search for all objects.
27
-
28
- <output_format>
29
- You can choose to either return the full object data, or just the DXN, type and label.
30
- When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.
31
-
32
- You can choose to get the content right away, if you don't expect a lot of results.
33
- To load content right away, run with includeContent=true.
34
- When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.
35
- </output_format>
36
-
37
- <example description="All tasks related to Cyberdyne and Bob">
38
- {
39
- "typename": "dxos.org/type/Task",
40
- "text": "cyberdyne bob",
41
- }
42
- </example>
11
+ import { Query } from './definitions';
43
12
 
44
- <example description="Financial report Q1 2026">
45
- {
46
- "typename": "dxos.org/type/Document",
47
- "text": "financial report Q1 2026",
48
- "includeContent": true
49
- "limit": 3
13
+ // TODO(burdon): Move to toolkit (i.e., tool not function).
14
+ export default Query.pipe(
15
+ Operation.withHandler(
16
+ Effect.fn(function* ({ in: parents, typename, text, includeContent = false, limit = 10, includeQueues = false }) {
17
+ const { db } = yield* Database.Service;
18
+ let query: EchoQuery.Any;
19
+ if (text) {
20
+ query = EchoQuery.all(
21
+ ...text.split(' ').map((term) => EchoQuery.select(Filter.text(term, { type: 'full-text' }))),
22
+ );
23
+ if (typename !== undefined) {
24
+ const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });
25
+ if (schema.length === 0) {
26
+ return yield* Effect.fail(new Error(`Schema ${typename} not found`));
27
+ }
28
+ query = query.select(Filter.type(schema[0]));
50
29
  }
51
- </example>
52
- `,
53
- inputSchema: Schema.Struct({
54
- typename: Schema.optional(
55
- Schema.String.annotations({
56
- description: 'The typename of the objects to list.',
57
- example: 'dxos.org/type/Task',
58
- }),
59
- ),
60
- text: Schema.optional(
61
- Schema.String.annotations({
62
- description: 'Full text search query.',
63
- example: 'email cyberdyne bob',
64
- }),
65
- ),
66
- includeContent: Schema.optional(
67
- Schema.Boolean.annotations({
68
- description: 'Include the full object data in the response.',
69
- default: false,
70
- }),
71
- ),
72
- limit: Schema.optional(
73
- Schema.Number.annotations({
74
- description: 'The maximum number of results to return.',
75
- default: 10,
76
- }),
77
- ),
78
- // TODO(dmaretskyi): There's a problem with querying queues, that the agent keeps finding message from agent threads.
79
- // Let's think about a better way to do this.
80
- // And queues don't have predicatble ids, so queue DXNs blow up the conversation cache.
81
- includeQueues: Schema.optional(
82
- Schema.Boolean.annotations({
83
- description: 'Search in queues as well as spaces. Only use this if searching for emails.',
84
- default: false,
85
- }),
86
- ),
87
- }),
88
- outputSchema: Schema.Array(Schema.Unknown),
89
- handler: Effect.fn(function* ({
90
- data: { typename, text, includeContent = false, limit = 10, includeQueues = false },
91
- }) {
92
- let query: Query.Any;
93
- if (text) {
94
- query = Query.all(...text.split(' ').map((term) => Query.select(Filter.text(term, { type: 'full-text' }))));
95
- if (typename !== undefined) {
30
+ } else if (typename) {
96
31
  const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });
97
32
  if (schema.length === 0) {
98
33
  return yield* Effect.fail(new Error(`Schema ${typename} not found`));
99
34
  }
100
- // NOTE: Query by typename string doesn't work for dynamic schemas.
101
- query = query.select(Filter.type(schema[0]));
35
+ query = EchoQuery.select(Filter.type(schema[0]));
36
+ } else {
37
+ query = EchoQuery.select(Filter.everything());
38
+ }
39
+
40
+ if (parents && parents.length > 0) {
41
+ query = query.select(Filter.childOf(parents));
102
42
  }
103
- } else if (typename) {
104
- query = Query.select(Filter.type(typename));
105
- } else {
106
- query = Query.select(Filter.everything());
107
- }
108
- query = query.limit(limit);
109
- if (includeQueues) {
110
- query = query.from({ allQueuesFromSpaces: true });
111
- }
112
43
 
113
- // Update indexes before querying to make sure we get the latest results.
114
- yield* Database.flush({ indexes: true });
115
- const results = yield* Database.runQuery(query);
116
- if (includeContent) {
117
- return results.map((obj) => Entity.toJSON(obj));
118
- } else {
119
- return results.map((obj) => ({
120
- dxn: Obj.getDXN(obj).toString(),
121
- typename: Obj.getTypename(obj),
122
- label: Obj.getLabel(obj),
123
- }));
124
- }
125
- }),
126
- });
44
+ query = query.limit(limit);
45
+ if (includeQueues) {
46
+ // Must scope to the current space: `from({ allQueuesFromSpaces: true })` alone has no spaceIds, so the SQL
47
+ // index returns nothing (see ObjectMetaIndex.buildSourceCondition / early returns when spaceIds are empty).
48
+ query = query.from(db, { includeFeeds: true });
49
+ }
50
+
51
+ yield* Database.flush();
52
+ const results = yield* Database.runQuery(query);
53
+ if (includeContent) {
54
+ return results.map((obj) => Entity.toJSON(obj));
55
+ } else {
56
+ return results.map((obj) => ({
57
+ dxn: Obj.getDXN(obj).toString(),
58
+ typename: Obj.getTypename(obj),
59
+ label: Obj.getLabel(obj),
60
+ }));
61
+ }
62
+ }),
63
+ ),
64
+ );
@@ -3,45 +3,32 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
6
 
8
- import { Database, Entity, Obj, Ref, Relation, Type } from '@dxos/echo';
9
- import { defineFunction } from '@dxos/functions';
7
+ import { Operation } from '@dxos/compute';
8
+ import { Database, Entity, Relation, Type } from '@dxos/echo';
10
9
  import { invariant } from '@dxos/invariant';
11
- import { trim } from '@dxos/util';
12
10
 
13
- export default defineFunction({
14
- key: 'dxos.org/function/database/relation-create',
15
- name: 'Create relation',
16
- description: trim`
17
- Creates a new relation and adds it to the current space.
18
- Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.
19
- `,
20
- inputSchema: Schema.Struct({
21
- typename: Schema.String,
22
- source: Ref.Ref(Obj.Unknown),
23
- target: Ref.Ref(Obj.Unknown),
24
- properties: Schema.Any.annotations({
25
- description: 'The data to be stored in the relation.',
26
- }),
27
- }),
28
- outputSchema: Schema.Unknown,
29
- handler: Effect.fn(function* ({ data: { typename, source, target, properties } }) {
30
- const { db } = yield* Database.Service;
31
- const schema = yield* Effect.promise(() =>
32
- db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),
33
- );
34
- invariant(Type.isRelationSchema(schema), 'Schema is not a relation schema');
11
+ import { RelationCreate } from './definitions';
12
+
13
+ export default RelationCreate.pipe(
14
+ Operation.withHandler(
15
+ Effect.fn(function* ({ typename, source, target, properties }) {
16
+ const { db } = yield* Database.Service;
17
+ const schema = yield* Effect.promise(() =>
18
+ db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),
19
+ );
20
+ invariant(Type.isRelationSchema(schema), 'Schema is not a relation schema');
35
21
 
36
- const sourceObj = yield* Database.load(source);
37
- const targetObj = yield* Database.load(target);
38
- const relation = db.add(
39
- Relation.make(schema, {
40
- [Relation.Source]: sourceObj,
41
- [Relation.Target]: targetObj,
42
- ...properties,
43
- }),
44
- );
45
- return Entity.toJSON(relation);
46
- }),
47
- });
22
+ const sourceObj = yield* Database.load(source);
23
+ const targetObj = yield* Database.load(target);
24
+ const relation = db.add(
25
+ Relation.make(schema, {
26
+ [Relation.Source]: sourceObj,
27
+ [Relation.Target]: targetObj,
28
+ ...properties,
29
+ }),
30
+ );
31
+ return Entity.toJSON(relation);
32
+ }),
33
+ ),
34
+ );
@@ -3,26 +3,19 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
6
 
8
- import { Database, Ref, Relation } from '@dxos/echo';
9
- import { defineFunction } from '@dxos/functions';
10
- import { trim } from '@dxos/util';
7
+ import { Operation } from '@dxos/compute';
8
+ import { Database } from '@dxos/echo';
11
9
 
12
- export default defineFunction({
13
- key: 'dxos.org/function/database/relation-delete',
14
- name: 'Delete relation',
15
- description: trim`
16
- Deletes the relation.
17
- `,
18
- inputSchema: Schema.Struct({
19
- rel: Ref.Ref(Relation.Unknown),
20
- }),
21
- outputSchema: Schema.Void,
22
- handler: Effect.fn(function* ({ data: { rel } }) {
23
- const { db } = yield* Database.Service;
24
- const relation = yield* Database.load(rel);
25
- // TODO(dmaretskyi): Echo types broken.
26
- db.remove(relation as any);
27
- }),
28
- });
10
+ import { RelationDelete } from './definitions';
11
+
12
+ export default RelationDelete.pipe(
13
+ Operation.withHandler(
14
+ Effect.fn(function* ({ rel }) {
15
+ const { db } = yield* Database.Service;
16
+ const relation = yield* Database.load(rel);
17
+ // TODO(dmaretskyi): Echo types broken.
18
+ db.remove(relation as any);
19
+ }),
20
+ ),
21
+ );
@@ -3,38 +3,26 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
6
 
7
+ import { Operation } from '@dxos/compute';
8
8
  import { Database } from '@dxos/echo';
9
- import { defineFunction } from '@dxos/functions';
10
- import { trim } from '@dxos/util';
11
9
 
12
- export default defineFunction({
13
- key: 'dxos.org/function/database/schema-add',
14
- name: 'Add schema',
15
- description: trim`
16
- Adds a schema to the space.
17
- The name will be used when displayed to the user.
18
- `,
19
- inputSchema: Schema.Struct({
20
- name: Schema.String,
21
- typename: Schema.String.annotations({
22
- description: 'The typename of the schema in the format of "example.com/type/Type".',
10
+ import { SchemaAdd } from './definitions';
11
+
12
+ export default SchemaAdd.pipe(
13
+ Operation.withHandler(
14
+ Effect.fn(function* ({ name, typename, jsonSchema }) {
15
+ const { db } = yield* Database.Service;
16
+ yield* Effect.promise(() =>
17
+ db.schemaRegistry.register([
18
+ {
19
+ typename,
20
+ version: '0.1.0',
21
+ jsonSchema,
22
+ name,
23
+ },
24
+ ]),
25
+ );
23
26
  }),
24
- jsonSchema: Schema.Any,
25
- }),
26
- outputSchema: Schema.Void,
27
- handler: Effect.fn(function* ({ data: { name, typename, jsonSchema } }) {
28
- const { db } = yield* Database.Service;
29
- yield* Effect.promise(() =>
30
- db.schemaRegistry.register([
31
- {
32
- typename,
33
- version: '0.1.0',
34
- jsonSchema,
35
- name,
36
- },
37
- ]),
38
- );
39
- }),
40
- });
27
+ ),
28
+ );
@@ -3,32 +3,31 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
6
 
8
- import { Database, JsonSchema, Type } from '@dxos/echo';
9
- import { defineFunction } from '@dxos/functions';
10
- import { trim } from '@dxos/util';
7
+ import { Routine, Blueprint, Operation } from '@dxos/compute';
8
+ import { Database, Feed, JsonSchema, Type, View } from '@dxos/echo';
11
9
 
12
- export default defineFunction({
13
- key: 'dxos.org/function/database/schema-list',
14
- name: 'List schemas',
15
- description: trim`
16
- Lists schemas definitions.
17
- `,
18
- inputSchema: Schema.Struct({
19
- limit: Schema.optional(Schema.Number),
20
- }),
21
- outputSchema: Schema.Array(Schema.Unknown),
22
- handler: Effect.fn(function* () {
23
- const { db } = yield* Database.Service;
24
- const schema = yield* Effect.promise(() => db.schemaRegistry.query({ location: ['database', 'runtime'] }).run());
25
- return schema.map((schema) => {
26
- const meta = Type.getMeta(schema);
27
- return {
28
- typename: Type.getTypename(schema),
29
- jsonSchema: JsonSchema.toJsonSchema(schema),
30
- kind: meta?.sourceSchema ? 'relation' : 'record',
31
- };
32
- });
33
- }),
34
- });
10
+ import { SchemaList } from './definitions';
11
+
12
+ // TODO(dmaretskyi): This is a balance between not filling the agent's context with too many types and not excluding important types.
13
+ const EXCLUDED_TYPES = [Type.PersistentType, View.View, Routine.Routine, Blueprint.Blueprint, Feed.Feed];
14
+ const excludedTypenames = EXCLUDED_TYPES.map((type) => Type.getTypename(type));
15
+
16
+ export default SchemaList.pipe(
17
+ Operation.withHandler(
18
+ Effect.fn(function* () {
19
+ const { db } = yield* Database.Service;
20
+ const schema = yield* Effect.promise(() => db.schemaRegistry.query({ location: ['database', 'runtime'] }).run());
21
+ return schema
22
+ .filter((schema) => !excludedTypenames.includes(Type.getTypename(schema)))
23
+ .map((schema) => {
24
+ const meta = Type.getMeta(schema);
25
+ return {
26
+ typename: Type.getTypename(schema),
27
+ jsonSchema: JsonSchema.toJsonSchema(schema),
28
+ kind: meta?.sourceSchema ? 'relation' : 'record',
29
+ };
30
+ });
31
+ }),
32
+ ),
33
+ );
@@ -3,29 +3,19 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
6
 
8
- import { Database, Entity, Obj, Ref, Tag } from '@dxos/echo';
9
- import { defineFunction } from '@dxos/functions';
10
- import { trim } from '@dxos/util';
7
+ import { Operation } from '@dxos/compute';
8
+ import { Database, Entity, Obj } from '@dxos/echo';
11
9
 
12
- export default defineFunction({
13
- key: 'dxos.org/function/database/tag-add',
14
- name: 'Add tag',
15
- description: trim`
16
- Adds a tag to an object.
17
- Tags are objects of type ${Tag.Tag.typename}.
18
- You must search database for available tags, or create a new one.
19
- `,
20
- inputSchema: Schema.Struct({
21
- tag: Ref.Ref(Obj.Unknown),
22
- obj: Ref.Ref(Obj.Unknown),
23
- }),
24
- outputSchema: Schema.Unknown,
25
- handler: Effect.fn(function* ({ data: { tag, obj } }) {
26
- const object = yield* Database.load(obj);
27
- const tagObj = yield* Database.load(tag);
28
- Entity.change(object, (obj) => Entity.addTag(obj, Obj.getDXN(tagObj).toString()));
29
- return Entity.toJSON(object);
30
- }),
31
- });
10
+ import { TagAdd } from './definitions';
11
+
12
+ export default TagAdd.pipe(
13
+ Operation.withHandler(
14
+ Effect.fn(function* ({ tag, obj }) {
15
+ const object = yield* Database.load(obj);
16
+ const tagObj = yield* Database.load(tag);
17
+ Entity.update(object, (object) => Entity.addTag(object, Obj.getDXN(tagObj).toString()));
18
+ return Entity.toJSON(object);
19
+ }),
20
+ ),
21
+ );
@@ -3,28 +3,19 @@
3
3
  //
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
- import * as Schema from 'effect/Schema';
7
6
 
8
- import { Database, Entity, Obj, Ref, Tag } from '@dxos/echo';
9
- import { defineFunction } from '@dxos/functions';
10
- import { trim } from '@dxos/util';
7
+ import { Operation } from '@dxos/compute';
8
+ import { Database, Entity, Obj } from '@dxos/echo';
11
9
 
12
- export default defineFunction({
13
- key: 'dxos.org/function/database/tag-remove',
14
- name: 'Remove tag',
15
- description: trim`
16
- Removes a tag from an object.
17
- Tags are objects of type ${Tag.Tag.typename}.
18
- `,
19
- inputSchema: Schema.Struct({
20
- tag: Ref.Ref(Obj.Unknown),
21
- obj: Ref.Ref(Obj.Unknown),
22
- }),
23
- outputSchema: Schema.Unknown,
24
- handler: Effect.fn(function* ({ data: { tag, obj } }) {
25
- const object = yield* Database.load(obj);
26
- const tagObj = yield* Database.load(tag);
27
- Entity.change(object, (obj) => Entity.removeTag(obj, Obj.getDXN(tagObj).toString()));
28
- return Entity.toJSON(object);
29
- }),
30
- });
10
+ import { TagRemove } from './definitions';
11
+
12
+ export default TagRemove.pipe(
13
+ Operation.withHandler(
14
+ Effect.fn(function* ({ tag, obj }) {
15
+ const object = yield* Database.load(obj);
16
+ const tagObj = yield* Database.load(tag);
17
+ Entity.update(object, (object) => Entity.removeTag(object, Obj.getDXN(tagObj).toString()));
18
+ return Entity.toJSON(object);
19
+ }),
20
+ ),
21
+ );
@@ -3,4 +3,19 @@
3
3
  //
4
4
 
5
5
  export { default as DatabaseBlueprint } from './blueprint';
6
- export { DatabaseFunctions } from './functions';
6
+ export {
7
+ Query as DatabaseQuery,
8
+ Load as DatabaseLoad,
9
+ ObjectCreate,
10
+ ObjectUpdate,
11
+ ObjectDelete,
12
+ SchemaAdd,
13
+ SchemaList,
14
+ ContextAdd,
15
+ ContextRemove,
16
+ RelationCreate,
17
+ RelationDelete,
18
+ TagAdd,
19
+ TagRemove,
20
+ DatabaseHandlers,
21
+ } from './functions';
@@ -2,18 +2,14 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { ToolId } from '@dxos/ai';
6
- import { type AppCapabilities } from '@dxos/app-toolkit';
7
- import { Blueprint } from '@dxos/blueprints';
5
+ import { Blueprint } from '@dxos/compute';
8
6
  import { Ref } from '@dxos/echo';
9
7
  import { Text } from '@dxos/schema';
10
8
  import { trim } from '@dxos/util';
11
9
 
12
- import { DiscordFunctions } from './functions';
10
+ import { FetchMessages } from './functions';
13
11
 
14
- const BLUEPRINT_KEY = 'dxos.org/blueprint/discord';
15
-
16
- const functions = Object.values(DiscordFunctions);
12
+ const BLUEPRINT_KEY = 'org.dxos.blueprint.discord';
17
13
 
18
14
  /**
19
15
  * Agent prompt instructions for managing hierarchical task lists.
@@ -32,14 +28,13 @@ const make = () =>
32
28
  name: 'Discord',
33
29
  description: 'Discord integration.',
34
30
  instructions: {
35
- source: Ref.make(Text.make(instructions)),
31
+ source: Ref.make(Text.make({ content: instructions })),
36
32
  },
37
- tools: [ToolId.make(DiscordFunctions.Fetch.key)],
33
+ tools: Blueprint.toolDefinitions({ operations: [FetchMessages] }),
38
34
  });
39
35
 
40
- const blueprint: AppCapabilities.BlueprintDefinition = {
36
+ const blueprint: Blueprint.Definition = {
41
37
  key: BLUEPRINT_KEY,
42
- functions,
43
38
  make,
44
39
  };
45
40
 
@@ -0,0 +1,70 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ import { Credential, Trace, Operation } from '@dxos/compute';
8
+
9
+ // TODO(dmaretskyi): Extract.
10
+ const TimeRangeSchema = Schema.String.pipe(Schema.pattern(/\d+(s|m|h|d)/)).annotations({
11
+ description: 'Time range. 1d - 1 day, 2h - 2 hours, 30m - 30 minutes, 15s - 15 seconds.',
12
+ examples: ['1d', '2h', '30m', '15s'],
13
+ });
14
+
15
+ export const TimeRange = Object.assign(TimeRangeSchema, {
16
+ toSeconds(timeRange: string) {
17
+ const match = timeRange.match(/(\d+)(s|m|h|d)/);
18
+ if (!match) {
19
+ throw new Error(`Invalid time range: ${timeRange}`);
20
+ }
21
+ const [_, amount, unit] = match;
22
+ switch (unit) {
23
+ case 's':
24
+ return Number(amount);
25
+ case 'm':
26
+ return Number(amount) * 60;
27
+ case 'h':
28
+ return Number(amount) * 60 * 60;
29
+ case 'd':
30
+ return Number(amount) * 24 * 60 * 60;
31
+ default:
32
+ throw new Error(`Invalid time range unit: ${unit}`);
33
+ }
34
+ },
35
+ });
36
+
37
+ export const FetchMessages = Operation.make({
38
+ meta: {
39
+ key: 'org.dxos.function.fetch-discord-messages',
40
+ name: 'Sync Discord messages',
41
+ },
42
+ input: Schema.Struct({
43
+ serverId: Schema.String.annotations({
44
+ description: 'The ID of the server to fetch messages from.',
45
+ }),
46
+ channelId: Schema.optional(Schema.String).annotations({
47
+ description:
48
+ 'The ID of the channel to fetch messages from. Will crawl all channels from the server if not specified.',
49
+ }),
50
+ after: Schema.optional(Schema.Number).annotations({
51
+ description:
52
+ 'Fetch messages that were sent after a given date. Unix timestamp in seconds. Exclusive with `last`.',
53
+ }),
54
+ last: TimeRange.annotations({
55
+ description:
56
+ 'Time range to fetch most recent messages. Specifies the range in the past, from now. "1d" would fetch messages from the last 24 hours.',
57
+ }),
58
+ limit: Schema.optional(Schema.Number).annotations({
59
+ description: 'The maximum number of messages to fetch.',
60
+ }),
61
+ pageSize: Schema.optional(Schema.Number).annotations({
62
+ description: 'The number of messages to fetch per page.',
63
+ }),
64
+ ignoreUsernames: Schema.optional(Schema.Array(Schema.String)).annotations({
65
+ description: 'Exclude messages from these usernames.',
66
+ }),
67
+ }),
68
+ output: Schema.Any,
69
+ services: [Credential.CredentialsService, Trace.TraceService],
70
+ });