@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
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ObjectCreate
3
- } from "./chunk-IKBIORQX.mjs";
3
+ } from "./chunk-EUTROPCP.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/object-create.ts
@@ -20,10 +20,10 @@ var object_create_default = ObjectCreate.pipe(Operation.withHandler(Effect.fn(fu
20
20
  "runtime"
21
21
  ]
22
22
  }).first());
23
- invariant(Type.isObjectSchema(schema), "Schema is not an object schema", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 20, S: this, A: ["Type.isObjectSchema(schema)", "'Schema is not an object schema'"] });
23
+ invariant(Type.isObject(schema), "Schema is not an object schema", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 20, S: this, A: ["Type.isObject(schema)", "'Schema is not an object schema'"] });
24
24
  const object = db.add(Obj.make(schema, deepMapValues(data, (value, recurse) => {
25
25
  if (EncodedReference.isEncodedReference(value)) {
26
- return db.makeRef(EncodedReference.toDXN(value));
26
+ return db.makeRef(EncodedReference.toURI(value));
27
27
  }
28
28
  return recurse(value);
29
29
  })));
@@ -32,4 +32,4 @@ var object_create_default = ObjectCreate.pipe(Operation.withHandler(Effect.fn(fu
32
32
  export {
33
33
  object_create_default as default
34
34
  };
35
- //# sourceMappingURL=object-create-Z57Y3X6Y.mjs.map
35
+ //# sourceMappingURL=object-create-EN6PJN3L.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blueprints/database/functions/object-create.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Obj, Type } from '@dxos/echo';\nimport { EncodedReference } from '@dxos/echo-protocol';\nimport { invariant } from '@dxos/invariant';\nimport { deepMapValues } from '@dxos/util';\n\nimport { ObjectCreate } from './definitions';\n\nexport default ObjectCreate.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ typename, data }) {\n const { db } = yield* Database.Service;\n const schema = yield* Effect.promise(() =>\n db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),\n );\n invariant(Type.isObjectSchema(schema), 'Schema is not an object schema');\n\n const object = db.add(\n Obj.make(\n schema,\n deepMapValues(data, (value, recurse) => {\n if (EncodedReference.isEncodedReference(value)) {\n return db.makeRef(EncodedReference.toDXN(value));\n }\n return recurse(value);\n }),\n ),\n );\n return Entity.toJSON(object);\n }),\n ),\n);\n"],
5
- "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,KAAKC,YAAY;AAC5C,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAI9B,IAAA,eAAeC;IAIT,wBAAMC,aAAgBC,KAAOC,UAAQ,YAClB,UAACC,WAAM,EAAA,UAAA,KAAA,GAAA;UAAEC,GAAAA,IAAAA,OAAAA,SAAAA;iBAAUC,OAAU,eAAA,MAAA,GAAA,eAAA,MAAA;;cAAa;MAAU;MAAS;IAEhFC;EAEA,CAAA,EAAMC,MAAAA,CAAAA;YAIIC,KAAAA,eAAiBC,MAAAA,GAAAA,kCAA2B,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,+BAAA,kCAAA,EAAA,CAAA;iBACvCC,GAAGC,IAAAA,IAAQH,KAAAA,QAAAA,cAAuBI,MAAAA,CAAAA,OAAAA,YAAAA;AAC3C,QAAA,iBAAA,mBAAA,KAAA,GAAA;AACA,aAAOC,GAAAA,QAAQD,iBAAAA,MAAAA,KAAAA,CAAAA;IACjB;AAGJ,WAAOE,QAAOC,KAAOR;EACvB,CAEF,CAAA,CAAA;;;",
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Obj, Type } from '@dxos/echo';\nimport { EncodedReference } from '@dxos/echo-protocol';\nimport { invariant } from '@dxos/invariant';\nimport { deepMapValues } from '@dxos/util';\n\nimport { ObjectCreate } from './definitions';\n\nexport default ObjectCreate.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ typename, data }) {\n const { db } = yield* Database.Service;\n const schema = yield* Effect.promise(() =>\n db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),\n );\n invariant(Type.isObject(schema), 'Schema is not an object schema');\n\n const object = db.add(\n Obj.make(\n schema,\n deepMapValues(data, (value, recurse) => {\n if (EncodedReference.isEncodedReference(value)) {\n return db.makeRef(EncodedReference.toURI(value));\n }\n return recurse(value);\n }),\n ),\n );\n return Entity.toJSON(object);\n }),\n ),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,KAAKC,YAAY;AAC5C,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAI9B,IAAA,eAAeC;IAIT,wBAAMC,aAAgBC,KAAOC,UAAQ,YAClB,UAACC,WAAM,EAAA,UAAA,KAAA,GAAA;UAAEC,GAAAA,IAAAA,OAAAA,SAAAA;iBAAUC,OAAU,eAAA,MAAA,GAAA,eAAA,MAAA;;cAAa;MAAU;MAAS;IAEhFC;EAEA,CAAA,EAAMC,MAAAA,CAAAA;YAIIC,KAAAA,SAAAA,MAAiBC,GAAAA,kCAA2B,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,yBAAA,kCAAA,EAAA,CAAA;iBACvCC,GAAGC,IAAAA,IAAQH,KAAAA,QAAAA,cAAuBI,MAAAA,CAAAA,OAAAA,YAAAA;AAC3C,QAAA,iBAAA,mBAAA,KAAA,GAAA;AACA,aAAOC,GAAAA,QAAQD,iBAAAA,MAAAA,KAAAA,CAAAA;IACjB;AAGJ,WAAOE,QAAOC,KAAOR;EACvB,CAEF,CAAA,CAAA;;;",
6
6
  "names": ["Effect", "Operation", "Database", "Entity", "Obj", "Type", "EncodedReference", "invariant", "deepMapValues", "ObjectCreate", "schema", "Effect", "promise", "query", "typename", "location", "invariant", "object", "EncodedReference", "isEncodedReference", "db", "makeRef", "value", "recurse", "Entity", "toJSON"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ObjectDelete
3
- } from "./chunk-IKBIORQX.mjs";
3
+ } from "./chunk-EUTROPCP.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/object-delete.ts
@@ -15,4 +15,4 @@ var object_delete_default = ObjectDelete.pipe(Operation.withHandler(Effect.fn(fu
15
15
  export {
16
16
  object_delete_default as default
17
17
  };
18
- //# sourceMappingURL=object-delete-X53LS37B.mjs.map
18
+ //# sourceMappingURL=object-delete-RMA5ZKGY.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ObjectUpdate
3
- } from "./chunk-IKBIORQX.mjs";
3
+ } from "./chunk-EUTROPCP.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/object-update.ts
@@ -14,7 +14,7 @@ var object_update_default = ObjectUpdate.pipe(Operation.withHandler(Effect.fn(fu
14
14
  Entity.update(object, (obj2) => {
15
15
  for (const [key, value] of Object.entries(properties)) {
16
16
  if (EncodedReference.isEncodedReference(value)) {
17
- obj2[key] = db.makeRef(EncodedReference.toDXN(value));
17
+ obj2[key] = db.makeRef(EncodedReference.toURI(value));
18
18
  } else {
19
19
  obj2[key] = value;
20
20
  }
@@ -25,4 +25,4 @@ var object_update_default = ObjectUpdate.pipe(Operation.withHandler(Effect.fn(fu
25
25
  export {
26
26
  object_update_default as default
27
27
  };
28
- //# sourceMappingURL=object-update-GVKSBR7T.mjs.map
28
+ //# sourceMappingURL=object-update-JW5PLR2T.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blueprints/database/functions/object-update.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity } from '@dxos/echo';\nimport { EncodedReference } from '@dxos/echo-protocol';\n\nimport { ObjectUpdate } from './definitions';\n\nexport default ObjectUpdate.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ obj, properties }) {\n const { db } = yield* Database.Service;\n const object = yield* Database.load(obj);\n Entity.update(object as Entity.Any, (obj) => {\n for (const [key, value] of Object.entries(properties)) {\n if (EncodedReference.isEncodedReference(value)) {\n obj[key] = db.makeRef(EncodedReference.toDXN(value));\n } else {\n obj[key] = value;\n }\n }\n });\n return Entity.toJSON(object);\n }),\n ),\n);\n"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity } from '@dxos/echo';\nimport { EncodedReference } from '@dxos/echo-protocol';\n\nimport { ObjectUpdate } from './definitions';\n\nexport default ObjectUpdate.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ obj, properties }) {\n const { db } = yield* Database.Service;\n const object = yield* Database.load(obj);\n Entity.update(object as Entity.Any, (obj) => {\n for (const [key, value] of Object.entries(properties)) {\n if (EncodedReference.isEncodedReference(value)) {\n obj[key] = db.makeRef(EncodedReference.toURI(value));\n } else {\n obj[key] = value;\n }\n }\n });\n return Entity.toJSON(object);\n }),\n ),\n);\n"],
5
5
  "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,cAAc;AACjC,SAASC,wBAAwB;AAIjC,IAAA,wBAAeC,aAAaC,KAC1BC,UAAUC,YACDC,UAAG,WAAW,EAAEC,KAAKC,WAAU,GAAE;AACtC,QAAM,EAAEC,GAAE,IAAK,OAAOC,SAASC;AAC/B,QAAMC,SAAS,OAAOF,SAASG,KAAKN,GAAAA;AACpCO,SAAOC,OAAOH,QAAsB,CAACL,SAAAA;AACnC,eAAW,CAACS,KAAKC,KAAAA,KAAUC,OAAOC,QAAQX,UAAAA,GAAa;AACrD,UAAIY,iBAAiBC,mBAAmBJ,KAAAA,GAAQ;AAC9CV,QAAAA,KAAIS,GAAAA,IAAOP,GAAGa,QAAQF,iBAAiBG,MAAMN,KAAAA,CAAAA;MAC/C,OAAO;AACLV,QAAAA,KAAIS,GAAAA,IAAOC;MACb;IACF;EACF,CAAA;AACA,SAAOH,OAAOU,OAAOZ,MAAAA;AACvB,CAAA,CAAA,CAAA;",
6
- "names": ["Effect", "Operation", "Database", "Entity", "EncodedReference", "ObjectUpdate", "pipe", "Operation", "withHandler", "fn", "obj", "properties", "db", "Database", "Service", "object", "load", "Entity", "update", "key", "value", "Object", "entries", "EncodedReference", "isEncodedReference", "makeRef", "toDXN", "toJSON"]
6
+ "names": ["Effect", "Operation", "Database", "Entity", "EncodedReference", "ObjectUpdate", "pipe", "Operation", "withHandler", "fn", "obj", "properties", "db", "Database", "Service", "object", "load", "Entity", "update", "key", "value", "Object", "entries", "EncodedReference", "isEncodedReference", "makeRef", "toURI", "toJSON"]
7
7
  }
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  AgentBlueprintHandlers,
3
3
  blueprint_default
4
- } from "./chunk-QO5SU37C.mjs";
4
+ } from "./chunk-PAEPER4S.mjs";
5
5
  import {
6
6
  AddArtifact,
7
7
  AgentWorker,
8
8
  GetContext,
9
9
  Qualifier
10
- } from "./chunk-246ACKSH.mjs";
11
- import "./chunk-P4ZMYO4K.mjs";
12
- import "./chunk-NR3GTWRC.mjs";
13
- import "./chunk-KGU725LW.mjs";
10
+ } from "./chunk-GEMRKH7J.mjs";
11
+ import "./chunk-CMHECL6N.mjs";
12
+ import "./chunk-OC77MYT5.mjs";
13
+ import "./chunk-LO2S3ICN.mjs";
14
14
  import "./chunk-J5LGTIGS.mjs";
15
15
  export {
16
16
  AddArtifact,
@@ -20,4 +20,4 @@ export {
20
20
  GetContext,
21
21
  Qualifier
22
22
  };
23
- //# sourceMappingURL=project-HPHTZ2CI.mjs.map
23
+ //# sourceMappingURL=project-OGO5ABSZ.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AgentRules
3
- } from "./chunk-XUF53B6B.mjs";
4
- import "./chunk-P4ZMYO4K.mjs";
5
- import "./chunk-NR3GTWRC.mjs";
6
- import "./chunk-KGU725LW.mjs";
3
+ } from "./chunk-RIF2TKJJ.mjs";
4
+ import "./chunk-CMHECL6N.mjs";
5
+ import "./chunk-OC77MYT5.mjs";
6
+ import "./chunk-LO2S3ICN.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/blueprints/project-wizard/functions/project-rules.ts
@@ -75,4 +75,4 @@ var project_rules_default = AgentRules.pipe(Operation.withHandler(Effect.fnUntra
75
75
  export {
76
76
  project_rules_default as default
77
77
  };
78
- //# sourceMappingURL=project-rules-IVDHKSKI.mjs.map
78
+ //# sourceMappingURL=project-rules-IVA3DSOW.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AgentPrompt
3
- } from "./chunk-GV66MKAQ.mjs";
3
+ } from "./chunk-FNN6ERC6.mjs";
4
4
  import {
5
5
  Chat
6
- } from "./chunk-NR3GTWRC.mjs";
6
+ } from "./chunk-OC77MYT5.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/functions/agent/prompt.ts
@@ -88,7 +88,7 @@ ${data.systemInstructions}`;
88
88
  resultSink
89
89
  });
90
90
  const runtime2 = yield* Effect.runtime();
91
- const session = yield* acquireReleaseResource(() => new AiSession({
91
+ const session = yield* acquireReleaseResource(() => new AiSession.Session({
92
92
  feed,
93
93
  runtime: runtime2
94
94
  }));
@@ -155,7 +155,7 @@ var ToolExecutionService = ({ feed }) => Layer.unwrapEffect(Effect.gen(function*
155
155
  input
156
156
  }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 133, S: this });
157
157
  const result = yield* operationInvoker.invoke(operationDef, input, {
158
- conversation: Obj.getDXN(feed).toString()
158
+ conversation: Obj.getURI(feed)
159
159
  }).pipe(Effect.orDie);
160
160
  log("result", {
161
161
  result
@@ -167,4 +167,4 @@ var ToolExecutionService = ({ feed }) => Layer.unwrapEffect(Effect.gen(function*
167
167
  export {
168
168
  prompt_default as default
169
169
  };
170
- //# sourceMappingURL=prompt-Y7NN7M5D.mjs.map
170
+ //# sourceMappingURL=prompt-YVFNLD7U.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/functions/agent/prompt.ts", "../../../src/errors.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Array from 'effect/Array';\nimport * as Deferred from 'effect/Deferred';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport {\n AiSession,\n getOperationFromTool,\n makeToolExecutionService,\n makeToolResolverFromOperations,\n} from '@dxos/assistant';\nimport { Template, Trace, Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { PromptError } from '../../errors';\nimport * as Chat from '../../types/Chat';\nimport { AgentPrompt } from './definitions';\n\nconst DEFAULT_MODEL: ModelName = '@anthropic/claude-opus-4-6';\n\nexport default AgentPrompt.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* (data) {\n log.info('processing input', { input: data.input });\n\n const input = yield* Ref.isRef(data.input)\n ? Database.load(data.input).pipe(Effect.map(Obj.toJSON))\n : Effect.succeed(data.input);\n\n yield* Database.flush();\n const prompt = yield* Database.load(data.prompt);\n yield* Trace.emitStatus(`Running ${prompt.id}`);\n\n log.info('starting agent', { prompt: prompt.id, input });\n\n const blueprints = yield* Function.pipe(\n prompt.blueprints,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const objects = yield* Function.pipe(\n prompt.context,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const promptInstructions = yield* Database.load(prompt.instructions.source);\n let promptText = Template.process(promptInstructions.content, input);\n\n if (input !== undefined) {\n promptText += `\\n<input>${JSON.stringify(input)}</input>`;\n }\n\n let systemText = trim`\n You are an agent running in the non-interactive mode.\n The user is unable to see what you are doing, and cannot answer any questions.\n Do not ask questions.\n Complete the task before you, and at the end call [completeJob] with the output.\n If you are unable to complete the task, call [completeJob] with the failure reason.\n If no output is required, call [completeJob] with an empty object: {}\n Do not stop until you call [completeJob].\n `;\n if (data.systemInstructions) {\n systemText += `\\n\\n${data.systemInstructions}`;\n }\n\n const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);\n\n let feed: Feed.Feed;\n if (data.chat) {\n const chat = yield* Database.load(data.chat);\n invariant(Obj.instanceOf(Chat.Chat, chat), 'Expected Chat object.');\n feed = yield* Database.load(chat.feed);\n } else {\n feed = yield* Database.add(Feed.make());\n }\n\n const resultSink = yield* Deferred.make<unknown, PromptError>();\n const promptToolkit = makePromptAgentToolkit({\n output: Schema.Any, // TODO(dmaretskyi): Use prompt's output schema.\n resultSink,\n });\n\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const session = yield* acquireReleaseResource(() => new AiSession({ feed, runtime }));\n\n yield* Effect.promise(() =>\n session.context.bind({\n blueprints: blueprints.map((blueprint) => Ref.make(blueprint)),\n objects: objects.map((object) => Ref.make(object as Obj.Unknown)),\n }),\n );\n\n yield* session\n .createRequest({\n prompt: promptText,\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.gen(function* () {\n yield* session\n .createRequest({\n prompt: 'You must signal task completion by calling [completeJob] with the output or failure reason.',\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.fail(new PromptError('Agent did not signal task completion.', {})),\n ),\n );\n }),\n ),\n );\n },\n Effect.tapBoth({\n onSuccess: () => Database.flush(),\n onFailure: () => Database.flush(),\n }),\n Effect.scoped,\n ),\n ),\n Operation.opaqueHandler,\n);\n\nconst makePromptAgentToolkit = (options: {\n output: Schema.Schema.Any;\n resultSink: Deferred.Deferred<unknown, PromptError>;\n}) => {\n class PromptAgentToolkit extends Toolkit.make(\n Tool.make('completeJob', {\n parameters: {\n success: Schema.optional(Schema.Any), // TODO(dmaretskyi): Pipe output schema here.\n failure: Schema.optional(\n Schema.Struct({\n message: Schema.String.annotations({\n description: 'Short message describing the error.',\n }),\n description: Schema.optional(Schema.String).annotations({\n description: 'Optional longer message describing in detail what went wrong',\n }),\n }),\n ),\n },\n }),\n ) {}\n const layer = PromptAgentToolkit.toLayer({\n completeJob: Effect.fnUntraced(function* (result) {\n if (result.failure) {\n yield* Deferred.fail(\n options.resultSink,\n new PromptError(result.failure.message, {\n description: result.failure.description,\n }),\n );\n } else {\n yield* Deferred.succeed(options.resultSink, result.success);\n }\n }),\n });\n\n return OpaqueToolkit.make(PromptAgentToolkit, layer);\n};\n\ninterface ToolExecutionServiceOptions {\n feed: Feed.Feed;\n}\n\nconst ToolExecutionService = ({ feed }: ToolExecutionServiceOptions) =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n const operationInvoker = yield* Operation.Service;\n return makeToolExecutionService({\n invoke: (tool, input) =>\n Effect.gen(function* () {\n const operationDef = getOperationFromTool(tool).pipe(Option.getOrThrow);\n log('invoking operation', { operationDef, input });\n const result = yield* operationInvoker\n .invoke(operationDef, input, {\n conversation: Obj.getDXN(feed).toString(),\n })\n .pipe(Effect.orDie);\n log('result', { result });\n return result;\n }),\n });\n }),\n );\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\nimport { DXN } from '@dxos/keys';\n\n/**\n * Agent could not execute prompt.\n */\nexport class PromptError extends BaseError.extend('PromptError') {\n constructor(\n message: string,\n context: {\n description?: string;\n prompt?: DXN.String;\n chat?: DXN.String;\n },\n ) {\n super({\n message,\n context,\n });\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["Tool", "Toolkit", "Array", "Deferred", "Effect", "Function", "Layer", "Option", "Schema", "AiService", "OpaqueToolkit", "AiSession", "getOperationFromTool", "makeToolExecutionService", "makeToolResolverFromOperations", "Template", "Trace", "Operation", "Database", "Feed", "Obj", "Ref", "acquireReleaseResource", "invariant", "log", "trim", "BaseError", "PromptError", "extend", "message", "context", "DEFAULT_MODEL", "log", "data", "input", "Database", "prompt", "load", "Trace", "emitStatus", "info", "objects", "Function", "context", "promptInstructions", "instructions", "promptText", "process", "JSON", "systemText", "trim", "modelLayer", "AiService", "model", "invariant", "Obj", "feed", "chat", "add", "Feed", "make", "resultSink", "Deferred", "output", "Any", "runtime", "Effect", "map", "object", "Ref", "session", "createRequest", "system", "toolkit", "pipe", "makeToolResolverFromOperations", "tapBoth", "onSuccess", "onFailure", "scoped", "Operation", "opaqueHandler", "makePromptAgentToolkit", "options", "PromptAgentToolkit", "Toolkit", "failure", "Schema", "annotations", "description", "result", "ToolExecutionService", "unwrapEffect", "makeToolExecutionService", "invoke", "operationDef", "conversation", "getDXN", "toString", "orDie"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Array from 'effect/Array';\nimport * as Deferred from 'effect/Deferred';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport {\n AiSession,\n getOperationFromTool,\n makeToolExecutionService,\n makeToolResolverFromOperations,\n} from '@dxos/assistant';\nimport { Template, Trace, Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { PromptError } from '../../errors';\nimport * as Chat from '../../types/Chat';\nimport { AgentPrompt } from './definitions';\n\nconst DEFAULT_MODEL: ModelName = '@anthropic/claude-opus-4-6';\n\nexport default AgentPrompt.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* (data) {\n log.info('processing input', { input: data.input });\n\n const input = yield* Ref.isRef(data.input)\n ? Database.load(data.input).pipe(Effect.map(Obj.toJSON))\n : Effect.succeed(data.input);\n\n yield* Database.flush();\n const prompt = yield* Database.load(data.prompt);\n yield* Trace.emitStatus(`Running ${prompt.id}`);\n\n log.info('starting agent', { prompt: prompt.id, input });\n\n const blueprints = yield* Function.pipe(\n prompt.blueprints,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const objects = yield* Function.pipe(\n prompt.context,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const promptInstructions = yield* Database.load(prompt.instructions.source);\n let promptText = Template.process(promptInstructions.content, input);\n\n if (input !== undefined) {\n promptText += `\\n<input>${JSON.stringify(input)}</input>`;\n }\n\n let systemText = trim`\n You are an agent running in the non-interactive mode.\n The user is unable to see what you are doing, and cannot answer any questions.\n Do not ask questions.\n Complete the task before you, and at the end call [completeJob] with the output.\n If you are unable to complete the task, call [completeJob] with the failure reason.\n If no output is required, call [completeJob] with an empty object: {}\n Do not stop until you call [completeJob].\n `;\n if (data.systemInstructions) {\n systemText += `\\n\\n${data.systemInstructions}`;\n }\n\n const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);\n\n let feed: Feed.Feed;\n if (data.chat) {\n const chat = yield* Database.load(data.chat);\n invariant(Obj.instanceOf(Chat.Chat, chat), 'Expected Chat object.');\n feed = yield* Database.load(chat.feed);\n } else {\n feed = yield* Database.add(Feed.make());\n }\n\n const resultSink = yield* Deferred.make<unknown, PromptError>();\n const promptToolkit = makePromptAgentToolkit({\n output: Schema.Any, // TODO(dmaretskyi): Use prompt's output schema.\n resultSink,\n });\n\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const session = yield* acquireReleaseResource(() => new AiSession.Session({ feed, runtime }));\n\n yield* Effect.promise(() =>\n session.context.bind({\n blueprints: blueprints.map((blueprint) => Ref.make(blueprint)),\n objects: objects.map((object) => Ref.make(object as Obj.Unknown)),\n }),\n );\n\n yield* session\n .createRequest({\n prompt: promptText,\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.gen(function* () {\n yield* session\n .createRequest({\n prompt: 'You must signal task completion by calling [completeJob] with the output or failure reason.',\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.fail(new PromptError('Agent did not signal task completion.', {})),\n ),\n );\n }),\n ),\n );\n },\n Effect.tapBoth({\n onSuccess: () => Database.flush(),\n onFailure: () => Database.flush(),\n }),\n Effect.scoped,\n ),\n ),\n Operation.opaqueHandler,\n);\n\nconst makePromptAgentToolkit = (options: {\n output: Schema.Schema.Any;\n resultSink: Deferred.Deferred<unknown, PromptError>;\n}) => {\n class PromptAgentToolkit extends Toolkit.make(\n Tool.make('completeJob', {\n parameters: {\n success: Schema.optional(Schema.Any), // TODO(dmaretskyi): Pipe output schema here.\n failure: Schema.optional(\n Schema.Struct({\n message: Schema.String.annotations({\n description: 'Short message describing the error.',\n }),\n description: Schema.optional(Schema.String).annotations({\n description: 'Optional longer message describing in detail what went wrong',\n }),\n }),\n ),\n },\n }),\n ) {}\n const layer = PromptAgentToolkit.toLayer({\n completeJob: Effect.fnUntraced(function* (result) {\n if (result.failure) {\n yield* Deferred.fail(\n options.resultSink,\n new PromptError(result.failure.message, {\n description: result.failure.description,\n }),\n );\n } else {\n yield* Deferred.succeed(options.resultSink, result.success);\n }\n }),\n });\n\n return OpaqueToolkit.make(PromptAgentToolkit, layer);\n};\n\ninterface ToolExecutionServiceOptions {\n feed: Feed.Feed;\n}\n\nconst ToolExecutionService = ({ feed }: ToolExecutionServiceOptions) =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n const operationInvoker = yield* Operation.Service;\n return makeToolExecutionService({\n invoke: (tool, input) =>\n Effect.gen(function* () {\n const operationDef = getOperationFromTool(tool).pipe(Option.getOrThrow);\n log('invoking operation', { operationDef, input });\n const result = yield* operationInvoker\n .invoke(operationDef, input, {\n conversation: Obj.getURI(feed),\n })\n .pipe(Effect.orDie);\n log('result', { result });\n return result;\n }),\n });\n }),\n );\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\nimport { type EchoURI } from '@dxos/keys';\n\n/**\n * Agent could not execute prompt.\n */\nexport class PromptError extends BaseError.extend('PromptError') {\n constructor(\n message: string,\n context: {\n description?: string;\n prompt?: EchoURI.EchoURI;\n chat?: EchoURI.EchoURI;\n },\n ) {\n super({\n message,\n context,\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Tool", "Toolkit", "Array", "Deferred", "Effect", "Function", "Layer", "Option", "Schema", "AiService", "OpaqueToolkit", "AiSession", "getOperationFromTool", "makeToolExecutionService", "makeToolResolverFromOperations", "Template", "Trace", "Operation", "Database", "Feed", "Obj", "Ref", "acquireReleaseResource", "invariant", "log", "trim", "BaseError", "PromptError", "extend", "message", "context", "DEFAULT_MODEL", "log", "data", "input", "Database", "prompt", "load", "Trace", "emitStatus", "info", "objects", "Function", "context", "promptInstructions", "instructions", "promptText", "process", "JSON", "systemText", "trim", "modelLayer", "AiService", "model", "invariant", "Obj", "feed", "chat", "add", "Feed", "make", "resultSink", "Deferred", "output", "Any", "runtime", "Effect", "map", "object", "Ref", "session", "createRequest", "system", "toolkit", "pipe", "makeToolResolverFromOperations", "tapBoth", "onSuccess", "onFailure", "scoped", "Operation", "opaqueHandler", "makePromptAgentToolkit", "options", "PromptAgentToolkit", "Toolkit", "failure", "Schema", "annotations", "description", "result", "ToolExecutionService", "unwrapEffect", "makeToolExecutionService", "invoke", "operationDef", "conversation", "getURI", "orDie"]
7
7
  }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Qualifier
3
- } from "./chunk-246ACKSH.mjs";
3
+ } from "./chunk-GEMRKH7J.mjs";
4
4
  import {
5
5
  Agent_exports,
6
6
  Plan_exports
7
- } from "./chunk-P4ZMYO4K.mjs";
8
- import "./chunk-NR3GTWRC.mjs";
9
- import "./chunk-KGU725LW.mjs";
7
+ } from "./chunk-CMHECL6N.mjs";
8
+ import "./chunk-OC77MYT5.mjs";
9
+ import "./chunk-LO2S3ICN.mjs";
10
10
  import "./chunk-J5LGTIGS.mjs";
11
11
 
12
12
  // src/blueprints/project/functions/qualifier.ts
@@ -16,15 +16,15 @@ import * as Effect from "effect/Effect";
16
16
  import * as Schema from "effect/Schema";
17
17
  import { AiService } from "@dxos/ai";
18
18
  import { Operation } from "@dxos/compute";
19
- import { Database, Obj, Ref } from "@dxos/echo";
19
+ import { Database, Feed, Obj, Ref } from "@dxos/echo";
20
20
  import { invariant } from "@dxos/invariant";
21
21
  import { trim } from "@dxos/util";
22
22
  var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/project/functions/qualifier.ts";
23
- var qualifier_default = Qualifier.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ agent: agentRef, event }) {
23
+ var handler = Qualifier.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ agent: agentRef, event }) {
24
24
  const agent = yield* Database.load(agentRef);
25
25
  invariant(Obj.instanceOf(Agent_exports.Agent, agent), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 17, S: this, A: ["Obj.instanceOf(Agent.Agent, agent)", ""] });
26
26
  invariant(agent.chat, "Agent has no chat.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 18, S: this, A: ["agent.chat", "'Agent has no chat.'"] });
27
- const { id, name, queue } = agent;
27
+ const { id, name, feed: queue } = agent;
28
28
  if (!queue) {
29
29
  throw new Error("Agent has no queue.");
30
30
  }
@@ -66,23 +66,24 @@ var qualifier_default = Qualifier.pipe(Operation.withHandler(Effect.fnUntraced(f
66
66
  }));
67
67
  const { isRelevant } = value;
68
68
  if (isRelevant) {
69
- const queueTarget = yield* Database.load(queue);
70
- if ("queue" in event && event.item) {
69
+ const feedTarget = yield* Database.load(queue);
70
+ if ("feed" in event && event.item) {
71
71
  const obj = event.item;
72
- yield* Effect.promise(() => queueTarget.append([
72
+ yield* Feed.append(feedTarget, [
73
73
  obj
74
- ]));
74
+ ]);
75
75
  } else if ("subject" in event && Ref.isRef(event.subject)) {
76
76
  const obj = yield* Database.load(event.subject);
77
- yield* Effect.promise(() => queueTarget.append([
77
+ yield* Feed.append(feedTarget, [
78
78
  obj
79
- ]));
79
+ ]);
80
80
  } else {
81
81
  throw new Error("Invalid event.");
82
82
  }
83
83
  }
84
84
  }, Effect.provide(AiService.model("@anthropic/claude-sonnet-4-5")))));
85
+ var qualifier_default = handler;
85
86
  export {
86
87
  qualifier_default as default
87
88
  };
88
- //# sourceMappingURL=qualifier-VDOY5CWU.mjs.map
89
+ //# sourceMappingURL=qualifier-UTPO5E3S.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/project/functions/qualifier.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as LanguageModel from '@effect/ai/LanguageModel';\nimport * as Prompt from '@effect/ai/Prompt';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService } from '@dxos/ai';\nimport { Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { trim } from '@dxos/util';\n\nimport { Plan, Agent } from '../../../types';\nimport { Qualifier } from './definitions';\n\nconst handler: Operation.WithHandler<typeof Qualifier> = Qualifier.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ agent: agentRef, event }) {\n const agent = yield* Database.load(agentRef);\n invariant(Obj.instanceOf(Agent.Agent, agent));\n invariant(agent.chat, 'Agent has no chat.');\n\n const { id, name, feed: queue } = agent;\n if (!queue) {\n throw new Error('Agent has no queue.');\n }\n\n const plan = yield* Database.load(agent.plan);\n const instructions = yield* Database.load(agent.instructions);\n\n const { value } = yield* Effect.scoped(\n LanguageModel.generateObject({\n schema: Schema.Struct({\n isRelevant: Schema.Boolean,\n }),\n prompt: Prompt.fromMessages([\n Prompt.systemMessage({\n content: trim`\n You are a qualifying agent that determines if the event is relevant to the agent.\n Respond with true if the event is relevant to the agent, false otherwise.\n If you are not sure, return true.\n The qualified events will be forwarded to the larger agent that will process them.\n <agent id=\"${id}\" name=\"${name}\">\n <instructions>\n ${instructions.content}\n </instructions>\n <plan>\n ${Plan.formatPlan(plan)}\n </plan>\n </agent>\n `,\n }),\n Prompt.userMessage({\n content: [\n Prompt.makePart('text', {\n text: trim`\n <event>\n ${JSON.stringify(event, null, 2)}\n </event>\n `,\n }),\n ],\n }),\n ]),\n }),\n );\n\n const { isRelevant } = value as { isRelevant: boolean };\n\n if (isRelevant) {\n const feedTarget = yield* Database.load(queue);\n if ('feed' in event && event.item) {\n const obj = event.item;\n yield* Feed.append(feedTarget, [obj]);\n } else if ('subject' in event && Ref.isRef(event.subject)) {\n const obj = yield* Database.load(event.subject);\n yield* Feed.append(feedTarget, [obj]);\n } else {\n throw new Error('Invalid event.');\n }\n }\n },\n Effect.provide(AiService.model('@anthropic/claude-sonnet-4-5')),\n ),\n ),\n);\nexport default handler;\n"],
5
+ "mappings": ";;;;;;;;;;;;AAIA,YAAYA,mBAAmB;AAC/B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,MAAMC,KAAKC,WAAW;AACzC,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAKrB,IAAA,eAAyDC;IAKjDC,UAAUC,UAAIC,KAAWC,UAAW,YAAEC,kBAAAA,WAAAA,EAAAA,OAAAA,UAAAA,MAAAA,GAAAA;AACtCJ,QAAAA,QAAUI,OAAU,SAAE,KAAA,QAAA;AAEtB,YAAU,IAAEC,WAAYC,cAAO,OAAGF,KAAAA,GAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,sCAAAA,EAAAA,EAAAA,CAAAA;AAClC,YAAKE,MAAO,MAAA,sBAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,cAAA,sBAAA,EAAA,CAAA;QACV,EAAA,IAAM,MAAIC,MAAM,MAAA,IAAA;AAClB,MAAA,CAAA,OAAA;AAEA,UAAMC,IAAO,MAAOC,qBAAoBD;EACxC;AAEA,QAAM,OAAO,OAAK,SAAOE,KAAOC,MAC9BC,IAAAA;QACEC,eAAeC,OAAO,SAAA,KAAA,MAAA,YAAA;UACpBC,MAAAA,IAAAA,OAAmBC,cAAO,6BAAA;IAC5B,QAAA,cAAA;MACAC,YAAeC;;YAEXC,oBAAc;;;;;;;+BAORC,EAAAA,WAAqB,IAAA;;;;;;;;;;yBAUlBC;iBACLC;;YAEI,MAAEC;;0BAEL,KAAA,UAAA,OAAA,MAAA,CAAA,CAAA;;;UAGP,CAAA;QACD;MACH,CAAA;IAGF,CAAA;EAEA,CAAA,CAAA;QACE,EAAA,WAAMC,IAAa;MACnB,YAAI;UACF,aAAYC,OAAU,SAAA,KAAA,KAAA;QACtB,UAAOC,SAAYF,MAAAA,MAAY;YAACG,MAAAA,MAAAA;aAAI,KAAA,OAAA,YAAA;QAC/B;MACL,CAAA;eACOD,aAAYF,SAAAA,IAAY,MAAA,MAAA,OAAA,GAAA;YAACG,MAAAA,OAAAA,SAAAA,KAAAA,MAAAA,OAAAA;aAAI,KAAA,OAAA,YAAA;QAC/B;MACL,CAAA;IACF,OAAA;AACF,YAAA,IAAA,MAAA,gBAAA;IAEFjB;EAIN;;;",
6
+ "names": ["LanguageModel", "Prompt", "Effect", "Schema", "AiService", "Operation", "Database", "Feed", "Obj", "Ref", "invariant", "trim", "Qualifier", "invariant", "Obj", "instanceOf", "Agent", "agent", "name", "queue", "Error", "plan", "Database", "Effect", "scoped", "LanguageModel", "schema", "Struct", "isRelevant", "Boolean", "prompt", "fromMessages", "content", "instructions", "makePart", "text", "JSON", "feedTarget", "event", "Feed", "obj"]
7
+ }
@@ -1,13 +1,12 @@
1
1
  import {
2
2
  Query
3
- } from "./chunk-IKBIORQX.mjs";
3
+ } from "./chunk-EUTROPCP.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/query.ts
7
7
  import * as Effect from "effect/Effect";
8
8
  import { Operation } from "@dxos/compute";
9
- import { Entity, Filter, Obj, Query as EchoQuery } from "@dxos/echo";
10
- import { Database } from "@dxos/echo";
9
+ import { Database, Entity, Filter, Obj, Query as EchoQuery } from "@dxos/echo";
11
10
  var query_default = Query.pipe(Operation.withHandler(Effect.fn(function* ({ in: parents, typename, text, includeContent = false, limit = 10, includeQueues = false }) {
12
11
  const { db } = yield* Database.Service;
13
12
  let query;
@@ -58,7 +57,7 @@ var query_default = Query.pipe(Operation.withHandler(Effect.fn(function* ({ in:
58
57
  return results.map((obj) => Entity.toJSON(obj));
59
58
  } else {
60
59
  return results.map((obj) => ({
61
- dxn: Obj.getDXN(obj).toString(),
60
+ dxn: Obj.getURI(obj),
62
61
  typename: Obj.getTypename(obj),
63
62
  label: Obj.getLabel(obj)
64
63
  }));
@@ -67,4 +66,4 @@ var query_default = Query.pipe(Operation.withHandler(Effect.fn(function* ({ in:
67
66
  export {
68
67
  query_default as default
69
68
  };
70
- //# sourceMappingURL=query-PPJU5622.mjs.map
69
+ //# sourceMappingURL=query-3FK3ED6L.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/database/functions/query.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Filter, Obj, Query as EchoQuery } from '@dxos/echo';\n\nimport { Query } from './definitions';\n\n// TODO(burdon): Move to toolkit (i.e., tool not function).\nexport default Query.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ in: parents, typename, text, includeContent = false, limit = 10, includeQueues = false }) {\n const { db } = yield* Database.Service;\n let query: EchoQuery.Any;\n if (text) {\n query = EchoQuery.all(\n ...text.split(' ').map((term) => EchoQuery.select(Filter.text(term, { type: 'full-text' }))),\n );\n if (typename !== undefined) {\n const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });\n if (schema.length === 0) {\n return yield* Effect.fail(new Error(`Schema ${typename} not found`));\n }\n query = query.select(Filter.type(schema[0]));\n }\n } else if (typename) {\n const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });\n if (schema.length === 0) {\n return yield* Effect.fail(new Error(`Schema ${typename} not found`));\n }\n query = EchoQuery.select(Filter.type(schema[0]));\n } else {\n query = EchoQuery.select(Filter.everything());\n }\n\n if (parents && parents.length > 0) {\n query = query.select(Filter.childOf(parents));\n }\n\n query = query.limit(limit);\n if (includeQueues) {\n // Must scope to the current space: `from({ allFeedsFromSpaces: true })` alone has no spaceIds, so the SQL\n // index returns nothing (see ObjectMetaIndex.buildSourceCondition / early returns when spaceIds are empty).\n query = query.from(db, { includeFeeds: true });\n }\n\n yield* Database.flush();\n const results = yield* Database.runQuery(query);\n if (includeContent) {\n return results.map((obj) => Entity.toJSON(obj));\n } else {\n return results.map((obj) => ({\n dxn: Obj.getURI(obj),\n typename: Obj.getTypename(obj),\n label: Obj.getLabel(obj),\n }));\n }\n }),\n ),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,QAAQC,KAAKC,SAASC,iBAAiB;AAKlE,IAAA,gBAAeC,MAAMC,KACnBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAIC,SAASC,UAAUC,MAAMC,iBAAiB,OAAOC,QAAQ,IAAIC,gBAAgB,MAAK,GAAE;AAC7G,QAAM,EAAEC,GAAE,IAAK,OAAOC,SAASC;AAC/B,MAAIC;AACJ,MAAIP,MAAM;AACRO,YAAQC,UAAUC,IAAG,GAChBT,KAAKU,MAAM,GAAA,EAAKC,IAAI,CAACC,SAASJ,UAAUK,OAAOC,OAAOd,KAAKY,MAAM;MAAEG,MAAM;IAAY,CAAA,CAAA,CAAA,CAAA;AAE1F,QAAIhB,aAAaiB,QAAW;AAC1B,YAAMC,SAAS,OAAOZ,SAASa,eAAe;QAAEnB;QAAUoB,UAAU;UAAC;UAAY;;MAAW,CAAA;AAC5F,UAAIF,OAAOG,WAAW,GAAG;AACvB,eAAO,OAAcC,YAAK,IAAIC,MAAM,UAAUvB,QAAAA,YAAoB,CAAA;MACpE;AACAQ,cAAQA,MAAMM,OAAOC,OAAOC,KAAKE,OAAO,CAAA,CAAE,CAAA;IAC5C;EACF,WAAWlB,UAAU;AACnB,UAAMkB,SAAS,OAAOZ,SAASa,eAAe;MAAEnB;MAAUoB,UAAU;QAAC;QAAY;;IAAW,CAAA;AAC5F,QAAIF,OAAOG,WAAW,GAAG;AACvB,aAAO,OAAcC,YAAK,IAAIC,MAAM,UAAUvB,QAAAA,YAAoB,CAAA;IACpE;AACAQ,YAAQC,UAAUK,OAAOC,OAAOC,KAAKE,OAAO,CAAA,CAAE,CAAA;EAChD,OAAO;AACLV,YAAQC,UAAUK,OAAOC,OAAOS,WAAU,CAAA;EAC5C;AAEA,MAAIzB,WAAWA,QAAQsB,SAAS,GAAG;AACjCb,YAAQA,MAAMM,OAAOC,OAAOU,QAAQ1B,OAAAA,CAAAA;EACtC;AAEAS,UAAQA,MAAML,MAAMA,KAAAA;AACpB,MAAIC,eAAe;AAGjBI,YAAQA,MAAMkB,KAAKrB,IAAI;MAAEsB,cAAc;IAAK,CAAA;EAC9C;AAEA,SAAOrB,SAASsB,MAAK;AACrB,QAAMC,UAAU,OAAOvB,SAASwB,SAAStB,KAAAA;AACzC,MAAIN,gBAAgB;AAClB,WAAO2B,QAAQjB,IAAI,CAACmB,QAAQC,OAAOC,OAAOF,GAAAA,CAAAA;EAC5C,OAAO;AACL,WAAOF,QAAQjB,IAAI,CAACmB,SAAS;MAC3BG,KAAKC,IAAIC,OAAOL,GAAAA;MAChB/B,UAAUmC,IAAIE,YAAYN,GAAAA;MAC1BO,OAAOH,IAAII,SAASR,GAAAA;IACtB,EAAA;EACF;AACF,CAAA,CAAA,CAAA;",
6
+ "names": ["Effect", "Operation", "Database", "Entity", "Filter", "Obj", "Query", "EchoQuery", "Query", "pipe", "Operation", "withHandler", "fn", "in", "parents", "typename", "text", "includeContent", "limit", "includeQueues", "db", "Database", "Service", "query", "EchoQuery", "all", "split", "map", "term", "select", "Filter", "type", "undefined", "schema", "runSchemaQuery", "location", "length", "fail", "Error", "everything", "childOf", "from", "includeFeeds", "flush", "results", "runQuery", "obj", "Entity", "toJSON", "dxn", "Obj", "getURI", "getTypename", "label", "getLabel"]
7
+ }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  QueryMemories
3
- } from "./chunk-EJAQUAKM.mjs";
3
+ } from "./chunk-GHGJCH73.mjs";
4
4
  import {
5
5
  Memory
6
- } from "./chunk-KGU725LW.mjs";
6
+ } from "./chunk-LO2S3ICN.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/blueprints/memory/functions/query.ts
@@ -29,4 +29,4 @@ var query_default = QueryMemories.pipe(Operation.withHandler(Effect.fn(function*
29
29
  export {
30
30
  query_default as default
31
31
  };
32
- //# sourceMappingURL=query-U56GNEV6.mjs.map
32
+ //# sourceMappingURL=query-GXZT4KUX.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  QueryBlueprints
3
- } from "./chunk-TO5IX24K.mjs";
3
+ } from "./chunk-MMIERIDT.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/blueprint-manager/functions/query-blueprints.ts
@@ -13,4 +13,4 @@ var query_blueprints_default = QueryBlueprints.pipe(Operation.withHandler(Effect
13
13
  export {
14
14
  query_blueprints_default as default
15
15
  };
16
- //# sourceMappingURL=query-blueprints-KXADGHSA.mjs.map
16
+ //# sourceMappingURL=query-blueprints-GA2JM54N.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RelationCreate
3
- } from "./chunk-IKBIORQX.mjs";
3
+ } from "./chunk-EUTROPCP.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/relation-create.ts
@@ -18,7 +18,7 @@ var relation_create_default = RelationCreate.pipe(Operation.withHandler(Effect.f
18
18
  "runtime"
19
19
  ]
20
20
  }).first());
21
- invariant(Type.isRelationSchema(schema), "Schema is not a relation schema", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 18, S: this, A: ["Type.isRelationSchema(schema)", "'Schema is not a relation schema'"] });
21
+ invariant(Type.isRelation(schema), "Schema is not a relation schema", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 18, S: this, A: ["Type.isRelation(schema)", "'Schema is not a relation schema'"] });
22
22
  const sourceObj = yield* Database.load(source);
23
23
  const targetObj = yield* Database.load(target);
24
24
  const relation = db.add(Relation.make(schema, {
@@ -31,4 +31,4 @@ var relation_create_default = RelationCreate.pipe(Operation.withHandler(Effect.f
31
31
  export {
32
32
  relation_create_default as default
33
33
  };
34
- //# sourceMappingURL=relation-create-XJ2IX6X3.mjs.map
34
+ //# sourceMappingURL=relation-create-XOFKYPL2.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/blueprints/database/functions/relation-create.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Relation, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\n\nimport { RelationCreate } from './definitions';\n\nexport default RelationCreate.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ typename, source, target, properties }) {\n const { db } = yield* Database.Service;\n const schema = yield* Effect.promise(() =>\n db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),\n );\n invariant(Type.isRelationSchema(schema), 'Schema is not a relation schema');\n\n const sourceObj = yield* Database.load(source);\n const targetObj = yield* Database.load(target);\n const relation = db.add(\n Relation.make(schema, {\n [Relation.Source]: sourceObj,\n [Relation.Target]: targetObj,\n ...properties,\n }),\n );\n return Entity.toJSON(relation);\n }),\n ),\n);\n"],
5
- "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,UAAUC,YAAY;AACjD,SAASC,iBAAiB;AAI1B,IAAA,eAAeC;IAIT,0BAAMC,eAAgBC,KAAOC,UAC3BC,YAAkBC,UAAAA,WAAM,EAAA,UAAA,QAAA,QAAA,WAAA,GAAA;UAAEC,GAAAA,IAAAA,OAAAA,SAAAA;iBAAUC,OAAU,eAAA,MAAA,GAAA,eAAA,MAAA;;cAAa;MAAU;MAAS;IAEhFC;EAEA,CAAA,EAAMC,MAAAA,CAAAA;AACN,YAAMC,KAAAA,iBAAmBC,MAAa,GAACC,mCAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,iCAAAA,mCAAAA,EAAAA,CAAAA;AACvC,QAAMC,YAAWT,OACfU,SAASC,KAAKd,MAAAA;QACXa,YAASE,OAASP,SAAAA,KAAAA,MAAAA;QAClBK,WAASG,GAAM,IAAGP,SAAAA,KAAAA,QAAAA;IACnB,CAAA,SAAGQ,MAAU,GAAA;IACf,CAAA,SAAA,MAAA,GAAA;IAEF,GAAOC;EACT,CAEF,CAAA;;;",
6
- "names": ["Effect", "Operation", "Database", "Entity", "Relation", "Type", "invariant", "RelationCreate", "schema", "Effect", "promise", "db", "query", "typename", "location", "invariant", "sourceObj", "targetObj", "Database", "target", "relation", "Relation", "make", "Source", "Target", "properties", "Entity"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Relation, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\n\nimport { RelationCreate } from './definitions';\n\nexport default RelationCreate.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ typename, source, target, properties }) {\n const { db } = yield* Database.Service;\n const schema = yield* Effect.promise(() =>\n db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),\n );\n invariant(Type.isRelation(schema), 'Schema is not a relation schema');\n\n const sourceObj = yield* Database.load(source);\n const targetObj = yield* Database.load(target);\n const relation = db.add(\n Relation.make(schema, {\n [Relation.Source]: sourceObj,\n [Relation.Target]: targetObj,\n ...properties,\n }),\n );\n return Entity.toJSON(relation);\n }),\n ),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,UAAUC,YAAY;AACjD,SAASC,iBAAiB;AAI1B,IAAA,eAAeC;IAIT,0BAAMC,eAAgBC,KAAOC,UAC3BC,YAAkBC,UAAAA,WAAM,EAAA,UAAA,QAAA,QAAA,WAAA,GAAA;UAAEC,GAAAA,IAAAA,OAAAA,SAAAA;iBAAUC,OAAU,eAAA,MAAA,GAAA,eAAA,MAAA;;cAAa;MAAU;MAAS;IAEhFC;EAEA,CAAA,EAAMC,MAAAA,CAAAA;AACN,YAAMC,KAAAA,WAAmBC,MAAAA,GAASC,mCAAKC,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,2BAAAA,mCAAAA,EAAAA,CAAAA;AACvC,QAAMC,YAAWV,OACfW,SAASC,KAAKf,MAAAA;QACXc,YAASE,OAASR,SAAAA,KAAAA,MAAAA;QAClBM,WAASG,GAAM,IAAGR,SAAAA,KAAAA,QAAAA;IACnB,CAAA,SAAGS,MAAU,GAAA;IACf,CAAA,SAAA,MAAA,GAAA;IAEF,GAAOC;EACT,CAEF,CAAA;;;",
6
+ "names": ["Effect", "Operation", "Database", "Entity", "Relation", "Type", "invariant", "RelationCreate", "schema", "Effect", "promise", "db", "query", "typename", "location", "invariant", "sourceObj", "targetObj", "Database", "load", "target", "relation", "Relation", "make", "Source", "Target", "properties", "Entity"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RelationDelete
3
- } from "./chunk-IKBIORQX.mjs";
3
+ } from "./chunk-EUTROPCP.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/relation-delete.ts
@@ -15,4 +15,4 @@ var relation_delete_default = RelationDelete.pipe(Operation.withHandler(Effect.f
15
15
  export {
16
16
  relation_delete_default as default
17
17
  };
18
- //# sourceMappingURL=relation-delete-EP4KXAFL.mjs.map
18
+ //# sourceMappingURL=relation-delete-MVJKKVEQ.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SaveMemory
3
- } from "./chunk-EJAQUAKM.mjs";
3
+ } from "./chunk-GHGJCH73.mjs";
4
4
  import {
5
5
  Memory
6
- } from "./chunk-KGU725LW.mjs";
6
+ } from "./chunk-LO2S3ICN.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/blueprints/memory/functions/save.ts
@@ -20,4 +20,4 @@ var save_default = SaveMemory.pipe(Operation.withHandler(Effect.fn(function* ({
20
20
  export {
21
21
  save_default as default
22
22
  };
23
- //# sourceMappingURL=save-GWAPLT3Z.mjs.map
23
+ //# sourceMappingURL=save-TFQMJKG7.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SchemaAdd
3
- } from "./chunk-IKBIORQX.mjs";
3
+ } from "./chunk-EUTROPCP.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/blueprints/database/functions/schema-add.ts
@@ -21,4 +21,4 @@ var schema_add_default = SchemaAdd.pipe(Operation.withHandler(Effect.fn(function
21
21
  export {
22
22
  schema_add_default as default
23
23
  };
24
- //# sourceMappingURL=schema-add-Z5CY6P24.mjs.map
24
+ //# sourceMappingURL=schema-add-I7BFBU55.mjs.map
@@ -0,0 +1,49 @@
1
+ import {
2
+ SchemaList
3
+ } from "./chunk-EUTROPCP.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/blueprints/database/functions/schema-list.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Routine, Blueprint, Operation } from "@dxos/compute";
9
+ import { Database, Feed, Type, View } from "@dxos/echo";
10
+ import { log } from "@dxos/log";
11
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/database/functions/schema-list.ts";
12
+ var EXCLUDED_TYPES = [
13
+ Type.Type,
14
+ View.View,
15
+ Routine.Routine,
16
+ Blueprint.Blueprint,
17
+ Feed.Feed
18
+ ];
19
+ var excludedTypenames = EXCLUDED_TYPES.map((type) => Type.getTypename(type));
20
+ var schema_list_default = SchemaList.pipe(Operation.withHandler(Effect.fn(function* () {
21
+ const { db } = yield* Database.Service;
22
+ const schema = yield* Effect.promise(() => db.schemaRegistry.query({
23
+ location: [
24
+ "database",
25
+ "runtime"
26
+ ]
27
+ }).run());
28
+ return schema.filter((type) => !excludedTypenames.includes(Type.getTypename(type))).flatMap((type) => {
29
+ try {
30
+ return [
31
+ {
32
+ typename: Type.getTypename(type),
33
+ jsonSchema: type.jsonSchema,
34
+ kind: Type.isRelation(type) ? "relation" : "record"
35
+ }
36
+ ];
37
+ } catch (err) {
38
+ log.warn("Failed to generate JSON schema for type", {
39
+ typename: Type.getTypename(type),
40
+ err
41
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 36, S: this });
42
+ return [];
43
+ }
44
+ });
45
+ })));
46
+ export {
47
+ schema_list_default as default
48
+ };
49
+ //# sourceMappingURL=schema-list-TYGGAO2P.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/database/functions/schema-list.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Routine, Blueprint, Operation } from '@dxos/compute';\nimport { Database, Feed, Type, View } from '@dxos/echo';\nimport { log } from '@dxos/log';\n\nimport { SchemaList } from './definitions';\n\n// TODO(dmaretskyi): This is a balance between not filling the agent's context with too many types and not excluding important types.\nconst EXCLUDED_TYPES = [Type.Type, View.View, Routine.Routine, Blueprint.Blueprint, Feed.Feed];\nconst excludedTypenames = EXCLUDED_TYPES.map((type) => Type.getTypename(type));\n\nexport default SchemaList.pipe(\n Operation.withHandler(\n Effect.fn(function* () {\n const { db } = yield* Database.Service;\n const schema = yield* Effect.promise(() => db.schemaRegistry.query({ location: ['database', 'runtime'] }).run());\n return schema\n .filter((type) => !excludedTypenames.includes(Type.getTypename(type)))\n .flatMap((type) => {\n try {\n return [\n {\n typename: Type.getTypename(type),\n jsonSchema: type.jsonSchema,\n kind: Type.isRelation(type) ? 'relation' : 'record',\n },\n ];\n } catch (err) {\n log.warn('Failed to generate JSON schema for type', { typename: Type.getTypename(type), err });\n return [];\n }\n });\n }),\n ),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,SAASC,WAAWC,iBAAiB;AAC9C,SAASC,UAAUC,MAAMC,MAAMC,YAAY;AAC3C,SAASC,WAAW;AAIpB,IAAA,eAAA;IACmCC,iBAAS;EAAEC,KAAAA;EAAiBC,KAAAA;EAAqBC,QAAKA;EAAK,UAAA;EAC9F,KAAMC;AAEN;IAGM,oBAAsBC,eAASC,IAAO,CAAA,SAAA,KAAA,YAAA,IAAA,CAAA;IACtC,sBAAMC,WAAgBC,KAAAA,UAAe,YAASC,UAAeC,aAAM;UAAEC,GAAAA,IAAAA,OAAU,SAAA;iBAAC,OAAA,eAAA,MAAA,GAAA,eAAA,MAAA;cAAY;MAAU;MAAO;IACtGJ;EAGH,CAAA,EAAA,IAAI,CAAA;gBACF,OAAO,CAAA,SAAA,CAAA,kBAAA,SAAA,KAAA,YAAA,IAAA,CAAA,CAAA,EAAA,QAAA,CAAA,SAAA;;;;UAIHK,UAAMC,KAAKC,YAAWC,IAAQ;UAChC,YAAA,KAAA;UACD,MAAA,KAAA,WAAA,IAAA,IAAA,aAAA;QACD;MACAC;aAAsDC,KAAAA;UAAkCC,KAAAA,2CAAAA;QAAI,UAAA,KAAA,YAAA,IAAA;QAC5F;MACF,GAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AACF,aAAA,CAAA;IAGN;;;",
6
+ "names": ["Effect", "Routine", "Blueprint", "Operation", "Database", "Feed", "Type", "View", "log", "View", "Routine", "Blueprint", "Feed", "excludedTypenames", "Database", "Service", "schema", "Effect", "schemaRegistry", "query", "location", "kind", "Type", "isRelation", "type", "log", "typename", "err"]
7
+ }