@dxos/assistant-toolkit 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc

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 (571) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/neutral/add-artifact-4IVGW6CI.mjs +30 -0
  3. package/dist/lib/neutral/add-artifact-4IVGW6CI.mjs.map +7 -0
  4. package/dist/lib/neutral/agent-F4L7UXME.mjs +65 -0
  5. package/dist/lib/neutral/agent-F4L7UXME.mjs.map +7 -0
  6. package/dist/lib/neutral/chunk-5GPL2WXU.mjs +292 -0
  7. package/dist/lib/neutral/chunk-5GPL2WXU.mjs.map +7 -0
  8. package/dist/lib/neutral/chunk-7UCYAP3T.mjs +332 -0
  9. package/dist/lib/neutral/chunk-7UCYAP3T.mjs.map +7 -0
  10. package/dist/lib/neutral/chunk-ANSF2BHN.mjs +67 -0
  11. package/dist/lib/neutral/chunk-ANSF2BHN.mjs.map +7 -0
  12. package/dist/lib/neutral/chunk-BCT55UTL.mjs +75 -0
  13. package/dist/lib/neutral/chunk-BCT55UTL.mjs.map +7 -0
  14. package/dist/lib/neutral/chunk-COL54UJ3.mjs +60 -0
  15. package/dist/lib/neutral/chunk-COL54UJ3.mjs.map +7 -0
  16. package/dist/lib/neutral/chunk-EJAQUAKM.mjs +73 -0
  17. package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +7 -0
  18. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  19. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  20. package/dist/lib/neutral/chunk-KGU725LW.mjs +29 -0
  21. package/dist/lib/neutral/chunk-KGU725LW.mjs.map +7 -0
  22. package/dist/lib/neutral/chunk-KS3IA6FQ.mjs +101 -0
  23. package/dist/lib/neutral/chunk-KS3IA6FQ.mjs.map +7 -0
  24. package/dist/lib/neutral/chunk-MMQ7HFL4.mjs +107 -0
  25. package/dist/lib/neutral/chunk-MMQ7HFL4.mjs.map +7 -0
  26. package/dist/lib/neutral/chunk-NR3GTWRC.mjs +53 -0
  27. package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +7 -0
  28. package/dist/lib/neutral/chunk-PLGEBNTO.mjs +65 -0
  29. package/dist/lib/neutral/chunk-PLGEBNTO.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-W2722TC5.mjs +70 -0
  31. package/dist/lib/neutral/chunk-W2722TC5.mjs.map +7 -0
  32. package/dist/lib/neutral/chunk-WLR3BGO4.mjs +25 -0
  33. package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-ZFXLTBZG.mjs +73 -0
  35. package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +7 -0
  36. package/dist/lib/neutral/context-add-S5MBW2NA.mjs +22 -0
  37. package/dist/lib/neutral/context-add-S5MBW2NA.mjs.map +7 -0
  38. package/dist/lib/neutral/context-remove-35O5T5N5.mjs +22 -0
  39. package/dist/lib/neutral/context-remove-35O5T5N5.mjs.map +7 -0
  40. package/dist/lib/neutral/create-project-3AGXJ4TD.mjs +35 -0
  41. package/dist/lib/neutral/create-project-3AGXJ4TD.mjs.map +7 -0
  42. package/dist/lib/neutral/delete-J3PMWP7Z.mjs +19 -0
  43. package/dist/lib/neutral/delete-J3PMWP7Z.mjs.map +7 -0
  44. package/dist/lib/neutral/enable-blueprints-IVKST3WH.mjs +47 -0
  45. package/dist/lib/neutral/enable-blueprints-IVKST3WH.mjs.map +7 -0
  46. package/dist/lib/neutral/fetch-KHMHV7JR.mjs +16 -0
  47. package/dist/lib/neutral/fetch-KHMHV7JR.mjs.map +7 -0
  48. package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs +139 -0
  49. package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs.map +7 -0
  50. package/dist/lib/neutral/get-context-FBYWIP72.mjs +35 -0
  51. package/dist/lib/neutral/get-context-FBYWIP72.mjs.map +7 -0
  52. package/dist/lib/neutral/index.mjs +914 -0
  53. package/dist/lib/neutral/index.mjs.map +7 -0
  54. package/dist/lib/neutral/load-GAT3T2AD.mjs +17 -0
  55. package/dist/lib/neutral/load-GAT3T2AD.mjs.map +7 -0
  56. package/dist/lib/neutral/meta.json +1 -0
  57. package/dist/lib/neutral/object-create-PL3WRP74.mjs +35 -0
  58. package/dist/lib/neutral/object-create-PL3WRP74.mjs.map +7 -0
  59. package/dist/lib/neutral/object-delete-PZJQN5KW.mjs +18 -0
  60. package/dist/lib/neutral/object-delete-PZJQN5KW.mjs.map +7 -0
  61. package/dist/lib/neutral/object-update-R43N3VJX.mjs +28 -0
  62. package/dist/lib/neutral/object-update-R43N3VJX.mjs.map +7 -0
  63. package/dist/lib/neutral/project-VVXXUMAI.mjs +23 -0
  64. package/dist/lib/neutral/project-VVXXUMAI.mjs.map +7 -0
  65. package/dist/lib/neutral/project-rules-KSVSOZJV.mjs +78 -0
  66. package/dist/lib/neutral/project-rules-KSVSOZJV.mjs.map +7 -0
  67. package/dist/lib/neutral/prompt-INL55Q2B.mjs +170 -0
  68. package/dist/lib/neutral/prompt-INL55Q2B.mjs.map +7 -0
  69. package/dist/lib/neutral/qualifier-DAF4H7V3.mjs +88 -0
  70. package/dist/lib/neutral/qualifier-DAF4H7V3.mjs.map +7 -0
  71. package/dist/lib/neutral/query-MP5NSQKO.mjs +69 -0
  72. package/dist/lib/neutral/query-MP5NSQKO.mjs.map +7 -0
  73. package/dist/lib/neutral/query-U56GNEV6.mjs +32 -0
  74. package/dist/lib/neutral/query-U56GNEV6.mjs.map +7 -0
  75. package/dist/lib/neutral/query-blueprints-PLWYVOI3.mjs +16 -0
  76. package/dist/lib/neutral/query-blueprints-PLWYVOI3.mjs.map +7 -0
  77. package/dist/lib/neutral/relation-create-YAAAFTR2.mjs +34 -0
  78. package/dist/lib/neutral/relation-create-YAAAFTR2.mjs.map +7 -0
  79. package/dist/lib/neutral/relation-delete-IEPKERFR.mjs +18 -0
  80. package/dist/lib/neutral/relation-delete-IEPKERFR.mjs.map +7 -0
  81. package/dist/lib/neutral/save-GWAPLT3Z.mjs +23 -0
  82. package/dist/lib/neutral/save-GWAPLT3Z.mjs.map +7 -0
  83. package/dist/lib/neutral/schema-add-5BNIINRS.mjs +24 -0
  84. package/dist/lib/neutral/schema-add-5BNIINRS.mjs.map +7 -0
  85. package/dist/lib/neutral/schema-list-54UK7S4R.mjs +38 -0
  86. package/dist/lib/neutral/schema-list-54UK7S4R.mjs.map +7 -0
  87. package/dist/lib/neutral/sync-issues-DWY76B3M.mjs +166 -0
  88. package/dist/lib/neutral/sync-issues-DWY76B3M.mjs.map +7 -0
  89. package/dist/lib/neutral/sync-triggers-NOIQLELD.mjs +135 -0
  90. package/dist/lib/neutral/sync-triggers-NOIQLELD.mjs.map +7 -0
  91. package/dist/lib/neutral/tag-add-NLVRGTC6.mjs +19 -0
  92. package/dist/lib/neutral/tag-add-NLVRGTC6.mjs.map +7 -0
  93. package/dist/lib/neutral/tag-remove-N4HFBIA2.mjs +19 -0
  94. package/dist/lib/neutral/tag-remove-N4HFBIA2.mjs.map +7 -0
  95. package/dist/lib/neutral/testing/index.mjs +76 -0
  96. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  97. package/dist/lib/neutral/update-blueprints-2SNK6HLG.mjs +16 -0
  98. package/dist/lib/neutral/update-blueprints-2SNK6HLG.mjs.map +7 -0
  99. package/dist/lib/neutral/update-tasks-QQUR53RN.mjs +13 -0
  100. package/dist/lib/neutral/update-tasks-QQUR53RN.mjs.map +7 -0
  101. package/dist/types/src/blueprints/automation/blueprint.d.ts +4 -0
  102. package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -0
  103. package/dist/types/src/blueprints/automation/index.d.ts +2 -0
  104. package/dist/types/src/blueprints/automation/index.d.ts.map +1 -0
  105. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +4 -0
  106. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -0
  107. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +2 -0
  108. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +1 -0
  109. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +61 -0
  110. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +36 -0
  112. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +4 -0
  114. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +27 -0
  116. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +4 -0
  118. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +1 -0
  119. package/dist/types/src/blueprints/blueprint-manager/index.d.ts +3 -0
  120. package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +1 -0
  121. package/dist/types/src/blueprints/browser/blueprint.d.ts +4 -0
  122. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -0
  123. package/dist/types/src/blueprints/browser/blueprint.test.d.ts +2 -0
  124. package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +1 -0
  125. package/dist/types/src/blueprints/browser/index.d.ts +2 -0
  126. package/dist/types/src/blueprints/browser/index.d.ts.map +1 -0
  127. package/dist/types/src/blueprints/database/blueprint.d.ts +4 -0
  128. package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -0
  129. package/dist/types/src/blueprints/database/blueprint.test.d.ts +2 -0
  130. package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +1 -0
  131. package/dist/types/src/blueprints/database/functions/context-add.d.ts +7 -0
  132. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -0
  133. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +7 -0
  134. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -0
  135. package/dist/types/src/blueprints/database/functions/definitions.d.ts +59 -0
  136. package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -0
  137. package/dist/types/src/blueprints/database/functions/index.d.ts +4 -0
  138. package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -0
  139. package/dist/types/src/blueprints/database/functions/load.d.ts +7 -0
  140. package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -0
  141. package/dist/types/src/blueprints/database/functions/object-create.d.ts +8 -0
  142. package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -0
  143. package/dist/types/src/blueprints/database/functions/object-delete.d.ts +7 -0
  144. package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -0
  145. package/dist/types/src/blueprints/database/functions/object-update.d.ts +10 -0
  146. package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -0
  147. package/dist/types/src/blueprints/database/functions/query.d.ts +12 -0
  148. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -0
  149. package/dist/types/src/blueprints/database/functions/relation-create.d.ts +10 -0
  150. package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -0
  151. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +7 -0
  152. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -0
  153. package/dist/types/src/blueprints/database/functions/schema-add.d.ts +9 -0
  154. package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -0
  155. package/dist/types/src/blueprints/database/functions/schema-list.d.ts +7 -0
  156. package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -0
  157. package/dist/types/src/blueprints/database/functions/tag-add.d.ts +8 -0
  158. package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -0
  159. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +8 -0
  160. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -0
  161. package/dist/types/src/blueprints/database/index.d.ts +3 -0
  162. package/dist/types/src/blueprints/database/index.d.ts.map +1 -0
  163. package/dist/types/src/blueprints/discord/blueprint.d.ts +4 -0
  164. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -0
  165. package/dist/types/src/blueprints/discord/functions/definitions.d.ts +15 -0
  166. package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -0
  167. package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.d.ts +3 -2
  168. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -0
  169. package/dist/types/src/blueprints/discord/functions/fetch-messages.test.d.ts.map +1 -0
  170. package/dist/types/src/blueprints/discord/functions/index.d.ts +4 -0
  171. package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -0
  172. package/dist/types/src/blueprints/discord/index.d.ts +2 -2
  173. package/dist/types/src/blueprints/discord/index.d.ts.map +1 -1
  174. package/dist/types/src/blueprints/github/functions/definitions.d.ts +7 -0
  175. package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -0
  176. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +8 -0
  177. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -0
  178. package/dist/types/src/blueprints/github/functions/index.d.ts +4 -0
  179. package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -0
  180. package/dist/types/src/blueprints/github/index.d.ts +2 -0
  181. package/dist/types/src/blueprints/github/index.d.ts.map +1 -0
  182. package/dist/types/src/blueprints/index.d.ts +11 -6
  183. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  184. package/dist/types/src/blueprints/linear/blueprint.d.ts +4 -0
  185. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -0
  186. package/dist/types/src/blueprints/linear/functions/definitions.d.ts +6 -0
  187. package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -0
  188. package/dist/types/src/blueprints/linear/functions/index.d.ts +4 -0
  189. package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -0
  190. package/dist/types/src/blueprints/linear/functions/linear.test.d.ts.map +1 -0
  191. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +10 -0
  192. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -0
  193. package/dist/types/src/blueprints/linear/index.d.ts +2 -2
  194. package/dist/types/src/blueprints/linear/index.d.ts.map +1 -1
  195. package/dist/types/src/blueprints/memory/blueprint.d.ts +4 -0
  196. package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -0
  197. package/dist/types/src/blueprints/memory/blueprint.test.d.ts +2 -0
  198. package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +1 -0
  199. package/dist/types/src/blueprints/memory/functions/definitions.d.ts +17 -0
  200. package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -0
  201. package/dist/types/src/blueprints/memory/functions/delete.d.ts +10 -0
  202. package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -0
  203. package/dist/types/src/blueprints/memory/functions/index.d.ts +4 -0
  204. package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -0
  205. package/dist/types/src/blueprints/memory/functions/query.d.ts +8 -0
  206. package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -0
  207. package/dist/types/src/blueprints/memory/functions/save.d.ts +8 -0
  208. package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -0
  209. package/dist/types/src/blueprints/memory/index.d.ts +3 -0
  210. package/dist/types/src/blueprints/memory/index.d.ts.map +1 -0
  211. package/dist/types/src/blueprints/planning/blueprint.d.ts +4 -0
  212. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -0
  213. package/dist/types/src/blueprints/planning/functions/index.d.ts +4 -0
  214. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -0
  215. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +24 -0
  216. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -0
  217. package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts +2 -0
  218. package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts.map +1 -0
  219. package/dist/types/src/blueprints/planning/index.d.ts +2 -2
  220. package/dist/types/src/blueprints/planning/index.d.ts.map +1 -1
  221. package/dist/types/src/blueprints/project/blueprint.d.ts +4 -0
  222. package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -0
  223. package/dist/types/src/blueprints/project/blueprint.test.d.ts +2 -0
  224. package/dist/types/src/blueprints/project/blueprint.test.d.ts.map +1 -0
  225. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +4 -0
  226. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -0
  227. package/dist/types/src/blueprints/project/functions/agent.d.ts +4 -0
  228. package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -0
  229. package/dist/types/src/blueprints/project/functions/definitions.d.ts +166 -0
  230. package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -0
  231. package/dist/types/src/blueprints/project/functions/get-context.d.ts +4 -0
  232. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -0
  233. package/dist/types/src/blueprints/project/functions/index.d.ts +4 -0
  234. package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -0
  235. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +77 -0
  236. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -0
  237. package/dist/types/src/blueprints/project/index.d.ts +3 -0
  238. package/dist/types/src/blueprints/project/index.d.ts.map +1 -0
  239. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +4 -0
  240. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -0
  241. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +55 -0
  242. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -0
  243. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +104 -0
  244. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -0
  245. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +4 -0
  246. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -0
  247. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +4 -0
  248. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -0
  249. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +52 -0
  250. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -0
  251. package/dist/types/src/blueprints/project-wizard/index.d.ts +3 -0
  252. package/dist/types/src/blueprints/project-wizard/index.d.ts.map +1 -0
  253. package/dist/types/src/blueprints/testing.d.ts +9 -5
  254. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  255. package/dist/types/src/blueprints/websearch/blueprint.d.ts +4 -0
  256. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -0
  257. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts +2 -0
  258. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +1 -0
  259. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +5 -0
  260. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -0
  261. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +6 -0
  262. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -0
  263. package/dist/types/src/blueprints/websearch/functions/index.d.ts +4 -0
  264. package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -0
  265. package/dist/types/src/blueprints/websearch/index.d.ts +3 -3
  266. package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
  267. package/dist/types/src/blueprints/websearch/{websearch-toolkit.d.ts → toolkit.d.ts} +4 -1
  268. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -0
  269. package/dist/types/src/{functions/research → crud}/graph.d.ts +12 -11
  270. package/dist/types/src/crud/graph.d.ts.map +1 -0
  271. package/dist/types/src/crud/graph.test.d.ts.map +1 -0
  272. package/dist/types/src/crud/index.d.ts +2 -0
  273. package/dist/types/src/crud/index.d.ts.map +1 -0
  274. package/dist/types/src/errors.d.ts +41 -0
  275. package/dist/types/src/errors.d.ts.map +1 -0
  276. package/dist/types/src/functions/agent/definitions.d.ts +61 -0
  277. package/dist/types/src/functions/agent/definitions.d.ts.map +1 -0
  278. package/dist/types/src/functions/agent/index.d.ts +3 -4
  279. package/dist/types/src/functions/agent/index.d.ts.map +1 -1
  280. package/dist/types/src/functions/agent/prompt.d.ts +2 -9
  281. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  282. package/dist/types/src/functions/agent/prompt.test.d.ts +2 -0
  283. package/dist/types/src/functions/agent/prompt.test.d.ts.map +1 -0
  284. package/dist/types/src/functions/index.d.ts +0 -6
  285. package/dist/types/src/functions/index.d.ts.map +1 -1
  286. package/dist/types/src/index.d.ts +3 -1
  287. package/dist/types/src/index.d.ts.map +1 -1
  288. package/dist/types/src/sync/sync.d.ts +3 -4
  289. package/dist/types/src/sync/sync.d.ts.map +1 -1
  290. package/dist/types/src/testing/index.d.ts +2 -1
  291. package/dist/types/src/testing/index.d.ts.map +1 -1
  292. package/dist/types/src/testing/plugins.d.ts +19 -0
  293. package/dist/types/src/testing/plugins.d.ts.map +1 -0
  294. package/dist/types/src/toolkits/WebToolkit.d.ts +38 -0
  295. package/dist/types/src/toolkits/WebToolkit.d.ts.map +1 -0
  296. package/dist/types/src/toolkits/index.d.ts +2 -0
  297. package/dist/types/src/toolkits/index.d.ts.map +1 -0
  298. package/dist/types/src/types/Agent.d.ts +79 -0
  299. package/dist/types/src/types/Agent.d.ts.map +1 -0
  300. package/dist/types/src/types/Chat.d.ts +56 -0
  301. package/dist/types/src/types/Chat.d.ts.map +1 -0
  302. package/dist/types/src/types/McpServer.d.ts +21 -0
  303. package/dist/types/src/types/McpServer.d.ts.map +1 -0
  304. package/dist/types/src/types/Memory.d.ts +12 -0
  305. package/dist/types/src/types/Memory.d.ts.map +1 -0
  306. package/dist/types/src/types/Plan.d.ts +89 -0
  307. package/dist/types/src/types/Plan.d.ts.map +1 -0
  308. package/dist/types/src/types/index.d.ts +6 -0
  309. package/dist/types/src/types/index.d.ts.map +1 -0
  310. package/dist/types/src/util/graphql.d.ts.map +1 -1
  311. package/dist/types/tsconfig.tsbuildinfo +1 -1
  312. package/package.json +46 -39
  313. package/src/blueprints/automation/blueprint.ts +105 -0
  314. package/src/blueprints/automation/index.ts +5 -0
  315. package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -0
  316. package/src/blueprints/blueprint-manager/blueprint.test.ts +202 -0
  317. package/src/blueprints/blueprint-manager/blueprint.ts +49 -0
  318. package/src/blueprints/blueprint-manager/functions/definitions.ts +57 -0
  319. package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +43 -0
  320. package/src/blueprints/blueprint-manager/functions/index.ts +13 -0
  321. package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +18 -0
  322. package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +18 -0
  323. package/src/blueprints/blueprint-manager/index.ts +6 -0
  324. package/src/blueprints/browser/blueprint.test.ts +61 -0
  325. package/src/blueprints/browser/blueprint.ts +40 -0
  326. package/src/blueprints/browser/index.ts +5 -0
  327. package/src/blueprints/database/blueprint.conversations.json +1 -0
  328. package/src/blueprints/database/blueprint.test.ts +531 -0
  329. package/src/blueprints/database/blueprint.ts +66 -0
  330. package/src/blueprints/database/functions/context-add.ts +24 -0
  331. package/src/blueprints/database/functions/context-remove.ts +24 -0
  332. package/src/blueprints/database/functions/definitions.ts +318 -0
  333. package/src/blueprints/database/functions/index.ts +23 -0
  334. package/src/blueprints/database/functions/load.ts +19 -0
  335. package/src/blueprints/database/functions/object-create.ts +38 -0
  336. package/src/blueprints/database/functions/object-delete.ts +20 -0
  337. package/src/blueprints/database/functions/object-update.ts +30 -0
  338. package/src/blueprints/database/functions/query.ts +63 -0
  339. package/src/blueprints/database/functions/relation-create.ts +34 -0
  340. package/src/blueprints/database/functions/relation-delete.ts +21 -0
  341. package/src/blueprints/database/functions/schema-add.ts +28 -0
  342. package/src/blueprints/database/functions/schema-list.ts +33 -0
  343. package/src/blueprints/database/functions/tag-add.ts +21 -0
  344. package/src/blueprints/database/functions/tag-remove.ts +21 -0
  345. package/src/blueprints/database/index.ts +21 -0
  346. package/src/blueprints/discord/blueprint.ts +41 -0
  347. package/src/blueprints/discord/functions/definitions.ts +70 -0
  348. package/src/blueprints/discord/functions/fetch-messages.test.ts +50 -0
  349. package/src/blueprints/discord/functions/fetch-messages.ts +198 -0
  350. package/src/blueprints/discord/functions/index.ts +9 -0
  351. package/src/blueprints/discord/index.ts +2 -3
  352. package/src/blueprints/github/functions/definitions.ts +26 -0
  353. package/src/blueprints/github/functions/fetch-prs.ts +24 -0
  354. package/src/blueprints/github/functions/index.ts +9 -0
  355. package/src/blueprints/github/index.ts +5 -0
  356. package/src/blueprints/index.ts +11 -6
  357. package/src/blueprints/linear/blueprint.ts +42 -0
  358. package/src/blueprints/linear/functions/definitions.ts +23 -0
  359. package/src/blueprints/linear/functions/index.ts +9 -0
  360. package/src/blueprints/linear/functions/linear.test.ts +57 -0
  361. package/src/{functions/linear → blueprints/linear/functions}/sync-issues.ts +44 -51
  362. package/src/blueprints/linear/index.ts +2 -3
  363. package/src/blueprints/memory/blueprint.conversations.json +1 -0
  364. package/src/blueprints/memory/blueprint.test.ts +139 -0
  365. package/src/blueprints/memory/blueprint.ts +41 -0
  366. package/src/blueprints/memory/functions/definitions.ts +68 -0
  367. package/src/blueprints/memory/functions/delete.ts +20 -0
  368. package/src/blueprints/memory/functions/index.ts +13 -0
  369. package/src/blueprints/memory/functions/query.ts +32 -0
  370. package/src/blueprints/memory/functions/save.ts +20 -0
  371. package/src/blueprints/memory/index.ts +6 -0
  372. package/src/blueprints/planning/blueprint.ts +24 -0
  373. package/src/blueprints/planning/functions/index.ts +9 -0
  374. package/src/blueprints/planning/functions/update-tasks.md +116 -0
  375. package/src/blueprints/planning/functions/update-tasks.test.ts +55 -0
  376. package/src/blueprints/planning/functions/update-tasks.ts +67 -0
  377. package/src/blueprints/planning/index.ts +3 -4
  378. package/src/blueprints/project/blueprint.conversations.json +1 -0
  379. package/src/blueprints/project/blueprint.test.ts +712 -0
  380. package/src/blueprints/project/blueprint.ts +64 -0
  381. package/src/blueprints/project/functions/add-artifact.ts +31 -0
  382. package/src/blueprints/project/functions/agent.ts +69 -0
  383. package/src/blueprints/project/functions/definitions.ts +92 -0
  384. package/src/blueprints/project/functions/get-context.ts +47 -0
  385. package/src/blueprints/project/functions/index.ts +14 -0
  386. package/src/blueprints/project/functions/qualifier.ts +90 -0
  387. package/src/blueprints/project/index.ts +6 -0
  388. package/src/blueprints/project-wizard/blueprint.ts +52 -0
  389. package/src/blueprints/project-wizard/functions/create-project.ts +32 -0
  390. package/src/blueprints/project-wizard/functions/definitions.ts +63 -0
  391. package/src/blueprints/project-wizard/functions/index.ts +13 -0
  392. package/src/blueprints/project-wizard/functions/project-rules.ts +77 -0
  393. package/src/blueprints/project-wizard/functions/sync-triggers.ts +153 -0
  394. package/src/blueprints/project-wizard/index.ts +6 -0
  395. package/src/blueprints/testing.ts +29 -8
  396. package/src/blueprints/websearch/blueprint.conversations.json +1 -0
  397. package/src/blueprints/websearch/blueprint.test.ts +39 -0
  398. package/src/blueprints/websearch/blueprint.ts +30 -0
  399. package/src/blueprints/websearch/functions/definitions.ts +25 -0
  400. package/src/blueprints/websearch/functions/fetch.ts +18 -0
  401. package/src/blueprints/websearch/functions/index.ts +9 -0
  402. package/src/blueprints/websearch/index.ts +3 -4
  403. package/src/blueprints/websearch/{websearch-toolkit.ts → toolkit.ts} +6 -1
  404. package/src/crud/graph.test.ts +44 -0
  405. package/src/crud/graph.ts +378 -0
  406. package/src/crud/index.ts +5 -0
  407. package/src/errors.ts +25 -0
  408. package/src/functions/READ_THIS.md +5 -0
  409. package/src/functions/agent/definitions.ts +56 -0
  410. package/src/functions/agent/index.ts +3 -5
  411. package/src/functions/agent/prompt.conversations.json +1 -0
  412. package/src/functions/agent/prompt.test.ts +78 -0
  413. package/src/functions/agent/prompt.ts +210 -87
  414. package/src/functions/index.ts +0 -6
  415. package/src/index.ts +3 -1
  416. package/src/sync/sync.ts +52 -34
  417. package/src/testing/index.ts +2 -1
  418. package/src/testing/plugins.tsx +79 -0
  419. package/src/toolkits/WebToolkit.ts +33 -0
  420. package/src/toolkits/index.ts +5 -0
  421. package/src/types/Agent.ts +238 -0
  422. package/src/types/Chat.ts +63 -0
  423. package/src/types/McpServer.ts +37 -0
  424. package/src/types/Memory.ts +24 -0
  425. package/src/types/Plan.ts +111 -0
  426. package/src/types/index.ts +9 -0
  427. package/dist/lib/browser/index.mjs +0 -2481
  428. package/dist/lib/browser/index.mjs.map +0 -7
  429. package/dist/lib/browser/meta.json +0 -1
  430. package/dist/lib/node-esm/index.mjs +0 -2483
  431. package/dist/lib/node-esm/index.mjs.map +0 -7
  432. package/dist/lib/node-esm/meta.json +0 -1
  433. package/dist/types/src/blueprints/design/design-blueprint.d.ts +0 -4
  434. package/dist/types/src/blueprints/design/design-blueprint.d.ts.map +0 -1
  435. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts +0 -2
  436. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts.map +0 -1
  437. package/dist/types/src/blueprints/design/index.d.ts +0 -3
  438. package/dist/types/src/blueprints/design/index.d.ts.map +0 -1
  439. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts +0 -18
  440. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +0 -1
  441. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +0 -18
  442. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts.map +0 -1
  443. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts +0 -4
  444. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts.map +0 -1
  445. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts +0 -2
  446. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts.map +0 -1
  447. package/dist/types/src/blueprints/research/index.d.ts +0 -3
  448. package/dist/types/src/blueprints/research/index.d.ts.map +0 -1
  449. package/dist/types/src/blueprints/research/research-blueprint.d.ts +0 -4
  450. package/dist/types/src/blueprints/research/research-blueprint.d.ts.map +0 -1
  451. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts +0 -2
  452. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts.map +0 -1
  453. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts +0 -4
  454. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts.map +0 -1
  455. package/dist/types/src/blueprints/websearch/websearch-toolkit.d.ts.map +0 -1
  456. package/dist/types/src/experimental/feed.test.d.ts +0 -2
  457. package/dist/types/src/experimental/feed.test.d.ts.map +0 -1
  458. package/dist/types/src/functions/discord/fetch-messages.d.ts.map +0 -1
  459. package/dist/types/src/functions/discord/fetch-messages.test.d.ts.map +0 -1
  460. package/dist/types/src/functions/discord/index.d.ts +0 -12
  461. package/dist/types/src/functions/discord/index.d.ts.map +0 -1
  462. package/dist/types/src/functions/document/index.d.ts +0 -12
  463. package/dist/types/src/functions/document/index.d.ts.map +0 -1
  464. package/dist/types/src/functions/document/read.d.ts +0 -7
  465. package/dist/types/src/functions/document/read.d.ts.map +0 -1
  466. package/dist/types/src/functions/document/update.d.ts +0 -6
  467. package/dist/types/src/functions/document/update.d.ts.map +0 -1
  468. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +0 -173
  469. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +0 -1
  470. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts +0 -2
  471. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts.map +0 -1
  472. package/dist/types/src/functions/entity-extraction/index.d.ts +0 -174
  473. package/dist/types/src/functions/entity-extraction/index.d.ts.map +0 -1
  474. package/dist/types/src/functions/exa/exa.d.ts +0 -5
  475. package/dist/types/src/functions/exa/exa.d.ts.map +0 -1
  476. package/dist/types/src/functions/exa/index.d.ts +0 -3
  477. package/dist/types/src/functions/exa/index.d.ts.map +0 -1
  478. package/dist/types/src/functions/exa/mock.d.ts +0 -5
  479. package/dist/types/src/functions/exa/mock.d.ts.map +0 -1
  480. package/dist/types/src/functions/github/fetch-prs.d.ts +0 -6
  481. package/dist/types/src/functions/github/fetch-prs.d.ts.map +0 -1
  482. package/dist/types/src/functions/linear/index.d.ts +0 -9
  483. package/dist/types/src/functions/linear/index.d.ts.map +0 -1
  484. package/dist/types/src/functions/linear/linear.test.d.ts.map +0 -1
  485. package/dist/types/src/functions/linear/sync-issues.d.ts +0 -12
  486. package/dist/types/src/functions/linear/sync-issues.d.ts.map +0 -1
  487. package/dist/types/src/functions/research/create-document.d.ts +0 -7
  488. package/dist/types/src/functions/research/create-document.d.ts.map +0 -1
  489. package/dist/types/src/functions/research/graph.d.ts.map +0 -1
  490. package/dist/types/src/functions/research/graph.test.d.ts.map +0 -1
  491. package/dist/types/src/functions/research/index.d.ts +0 -19
  492. package/dist/types/src/functions/research/index.d.ts.map +0 -1
  493. package/dist/types/src/functions/research/research-graph.d.ts +0 -18
  494. package/dist/types/src/functions/research/research-graph.d.ts.map +0 -1
  495. package/dist/types/src/functions/research/research.d.ts +0 -13
  496. package/dist/types/src/functions/research/research.d.ts.map +0 -1
  497. package/dist/types/src/functions/research/research.test.d.ts +0 -2
  498. package/dist/types/src/functions/research/research.test.d.ts.map +0 -1
  499. package/dist/types/src/functions/research/types.d.ts +0 -384
  500. package/dist/types/src/functions/research/types.d.ts.map +0 -1
  501. package/dist/types/src/functions/tasks/index.d.ts +0 -15
  502. package/dist/types/src/functions/tasks/index.d.ts.map +0 -1
  503. package/dist/types/src/functions/tasks/read.d.ts +0 -7
  504. package/dist/types/src/functions/tasks/read.d.ts.map +0 -1
  505. package/dist/types/src/functions/tasks/task-list.d.ts +0 -74
  506. package/dist/types/src/functions/tasks/task-list.d.ts.map +0 -1
  507. package/dist/types/src/functions/tasks/task-list.test.d.ts +0 -2
  508. package/dist/types/src/functions/tasks/task-list.test.d.ts.map +0 -1
  509. package/dist/types/src/functions/tasks/update.d.ts +0 -9
  510. package/dist/types/src/functions/tasks/update.d.ts.map +0 -1
  511. package/dist/types/src/plugins.d.ts +0 -19
  512. package/dist/types/src/plugins.d.ts.map +0 -1
  513. package/dist/types/src/testing/data/exa-search-1748337321991.d.ts +0 -38
  514. package/dist/types/src/testing/data/exa-search-1748337321991.d.ts.map +0 -1
  515. package/dist/types/src/testing/data/exa-search-1748337331526.d.ts +0 -37
  516. package/dist/types/src/testing/data/exa-search-1748337331526.d.ts.map +0 -1
  517. package/dist/types/src/testing/data/exa-search-1748337344119.d.ts +0 -58
  518. package/dist/types/src/testing/data/exa-search-1748337344119.d.ts.map +0 -1
  519. package/dist/types/src/testing/data/index.d.ts +0 -3
  520. package/dist/types/src/testing/data/index.d.ts.map +0 -1
  521. package/src/blueprints/design/design-blueprint.test.ts +0 -108
  522. package/src/blueprints/design/design-blueprint.ts +0 -33
  523. package/src/blueprints/design/index.ts +0 -7
  524. package/src/blueprints/discord/discord-blueprint.ts +0 -34
  525. package/src/blueprints/linear/linear-blueprint.ts +0 -35
  526. package/src/blueprints/planning/planning-blueprint.test.ts +0 -129
  527. package/src/blueprints/planning/planning-blueprint.ts +0 -98
  528. package/src/blueprints/research/index.ts +0 -7
  529. package/src/blueprints/research/research-blueprint.test.ts +0 -7
  530. package/src/blueprints/research/research-blueprint.ts +0 -45
  531. package/src/blueprints/websearch/websearch-blueprint.ts +0 -20
  532. package/src/experimental/feed.test.ts +0 -108
  533. package/src/functions/discord/fetch-messages.test.ts +0 -59
  534. package/src/functions/discord/fetch-messages.ts +0 -251
  535. package/src/functions/discord/index.ts +0 -9
  536. package/src/functions/document/index.ts +0 -11
  537. package/src/functions/document/read.ts +0 -29
  538. package/src/functions/document/update.ts +0 -30
  539. package/src/functions/entity-extraction/entity-extraction.conversations.json +0 -1
  540. package/src/functions/entity-extraction/entity-extraction.test.ts +0 -100
  541. package/src/functions/entity-extraction/entity-extraction.ts +0 -163
  542. package/src/functions/entity-extraction/index.ts +0 -9
  543. package/src/functions/exa/exa.ts +0 -37
  544. package/src/functions/exa/index.ts +0 -6
  545. package/src/functions/exa/mock.ts +0 -71
  546. package/src/functions/github/fetch-prs.ts +0 -30
  547. package/src/functions/linear/index.ts +0 -9
  548. package/src/functions/linear/linear.test.ts +0 -86
  549. package/src/functions/research/create-document.ts +0 -69
  550. package/src/functions/research/graph.test.ts +0 -69
  551. package/src/functions/research/graph.ts +0 -388
  552. package/src/functions/research/index.ts +0 -15
  553. package/src/functions/research/instructions-research.tpl +0 -98
  554. package/src/functions/research/research-graph.ts +0 -47
  555. package/src/functions/research/research.conversations.json +0 -10714
  556. package/src/functions/research/research.test.ts +0 -240
  557. package/src/functions/research/research.ts +0 -155
  558. package/src/functions/research/types.ts +0 -24
  559. package/src/functions/tasks/index.ts +0 -11
  560. package/src/functions/tasks/read.ts +0 -34
  561. package/src/functions/tasks/task-list.test.ts +0 -99
  562. package/src/functions/tasks/task-list.ts +0 -165
  563. package/src/functions/tasks/update.ts +0 -52
  564. package/src/plugins.tsx +0 -68
  565. package/src/testing/data/exa-search-1748337321991.ts +0 -131
  566. package/src/testing/data/exa-search-1748337331526.ts +0 -144
  567. package/src/testing/data/exa-search-1748337344119.ts +0 -133
  568. package/src/testing/data/index.ts +0 -11
  569. /package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.test.d.ts +0 -0
  570. /package/dist/types/src/{functions/linear → blueprints/linear/functions}/linear.test.d.ts +0 -0
  571. /package/dist/types/src/{functions/research → crud}/graph.test.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"List all available schemas. Tell me what typenames are available.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01KDsyf2cZF9GrAzPDqzQ2bE","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:06:37.074Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to see all available schemas and their typenames.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvsBClkIDRgCKkD4LKEDLyUCtvKKgOhmTnb3HePkNmiM8mD+91r8VdIyPbJgSawCUIRqj7UFWLfDQ37CSSczQ3C22Yx/Oj2JbkIAMg9jbGF1ZGUtb3B1cy00LTY4ABIMNDtoRM+FEjHpNcs3GgwFDmifGarcz5qxU7kiMDhfQ0uYt9uLw5nGhxquuU4eC3nUQZ/l5cxfGfsGU2zSH1EKX/I7Yk/+0IYcUWq7pypQxHEzlaIC89rSdPatWl3boE1UTp0sRkVI7dxGT4FueEC10V+pelbEs6D06d6HpK2mv2tK05KnmGQFml6xfmXwBb5+Cq9nRiROMBtl+5W1TnIYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01JaeCSvmEsyJSPhtZoBNPCQ","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaeCSvmEsyJSPhtZoBNPCQ","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01JaeCSvmEsyJSPhtZoBNPCQ","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":65,"totalTokens":68},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6341},"cache_creation_input_tokens":6341,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":49,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"List all available schemas. Tell me what typenames are available.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to see all available schemas and their typenames.","options":{}},{"type":"tool-call","id":"toolu_01JaeCSvmEsyJSPhtZoBNPCQ","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01JaeCSvmEsyJSPhtZoBNPCQ","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01UvwDBs8m2RghaDMNnsVeHX","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:06:39.859Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me summarize the available schemas/typenames.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuwBClkIDRgCKkBZiSm38sPpZxecoRIDfj8Okj0dXxg3MscPQaKH6kfIdQz7wMEvC0vfhzMrIwyhGXNV+JADZ0MTZE2d3ZE4DZtWMg9jbGF1ZGUtb3B1cy00LTY4ABIMBtoCAyUZmqqTaNU+GgwpSrUQv7YsluvTH1EiMBK70OWM+AoQLfW+jaAUz5lIOn7ME31UB8ebQmOxXxT0NvNR2E3IhMH3S6r39tFDqSpBYcERH3dJKn2kYVYu4a9pVh+oAQ+KS9aTnviZcQT27sOQKLHt/3gxml9KVPFO0Uzn4QxhpG7gQkYynRtI06uMzV4YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Here are all the available schemas and their typenames:\n\n| #","metadata":{}},{"type":"text-delta","id":"1","delta":" | Typename | Kind | Description |\n|---|----------|------|-------------|\n| 1 | `com.example.type.expando` | Record | A","metadata":{}},{"type":"text-delta","id":"1","delta":" flexible/generic object type that allows additional properties |\n| 2 |","metadata":{}},{"type":"text-delta","id":"1","delta":" `org.dxos.relation.employer` | **Relation** | Links a **Person** (source) to an **Organization** (target) with","metadata":{}},{"type":"text-delta","id":"1","delta":" role, active status, and dates |\n| 3 | `org.dxos.type.function` | Record | Represents a function with","metadata":{}},{"type":"text-delta","id":"1","delta":" name, description, input/output schemas, and service bindings |\n| 4 | `org.dxos.type.organization` | Record | An organization with name, description, status (prospect/qualified/active/commit/","metadata":{}},{"type":"text-delta","id":"1","delta":"reject), image, website, and location |\n| 5 | `org.dxos.type.person` | Record | A person with full name, emails, phone numbers, addresses, job","metadata":{}},{"type":"text-delta","id":"1","delta":" title, department, organization reference, and more |\n| 6 | `org.dxos.type.tag` | Record | A tag with a label and hue (","metadata":{}},{"type":"text-delta","id":"1","delta":"color), used for tagging/labeling other objects","metadata":{}},{"type":"text-delta","id":"1","delta":" |\n| 7 | `org.dxos.type.trigger` | Record | A trigger that links to a function and can be activated","metadata":{}},{"type":"text-delta","id":"1","delta":" by email, queue, subscription, timer (cron), or webhook |\n\n**","metadata":{}},{"type":"text-delta","id":"1","delta":"Summary of typenames:**\n- `com.example.type.expando`\n- `org.dxos.relation.employer`\n- `","metadata":{}},{"type":"text-delta","id":"1","delta":"org.dxos.type.function`\n- `org.dxos.type.organization`\n- `org.dxos.type.person`\n- `org.dxos.type.tag`\n- `org.dxos.type.trigger`\n\nWould","metadata":{}},{"type":"text-delta","id":"1","delta":" you like to query, create, or work with any of these types?","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":468,"totalTokens":469},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4023},"cache_creation_input_tokens":4023,"cache_read_input_tokens":6341,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add a new schema called \"Project\" with typename \"com.example.type.project\" and fields: name (string), description (string), and status (string).","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_017XfGLKk98Fkr2FJC7fimGn","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:06:49.362Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to create a new schema called \"Project\" with specific fields.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EocCClkIDRgCKkABgBjG4o85NhnDevV1SYaZMZdmU4gBCgTvMh98fE+9RdNWMAkJ6uFgemdCPHGWJvrQe1AJvUvw0lZsQ8Ve6hQGMg9jbGF1ZGUtb3B1cy00LTY4ABIM162BNdvHnVHP/j/jGgxp3/81zvGGDwEGixwiMNCUn7qoSVjSwl0DWZxnvQA2/uTsl0D2j5C4fGjCp8hQhPpUhVeiv3O1PgnCZkgxlSpcysjcct7Cc2F8epbznEJKuJnan/I0qKxwfnlDmotMQ/0Vou6N3WJJdiWjb/mxwK7wD2Ij10kW8pXR6cp6fWY+RQDhPOnltJ/hTX4q4SJpx6M7fDB83d0NhUeyLdMYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll create the \"Project\" schema with the specified fields right","metadata":{}},{"type":"text-delta","id":"1","delta":" away.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","name":"add-schema","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"{\"name\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":": \"Pro","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"ject\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":", \"typenam","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"e\": \"co","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"m.e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"xample","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":".type.p","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"rojec","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"t\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":", \"jsonS","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"chema\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"{\"type\":\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"object\",","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"\"properties\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":":{","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"\"na","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"me\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"{\"ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"pe\":\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"strin","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"g\"},\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"des","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"criptio","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"n\":{","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"\"type","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"\":\"string\"},","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"\"statu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"s\":{\"typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"e\":\"st","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"ring\"}},","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"\"requir","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"ed\":[\"na","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","delta":"me\"]}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":219,"totalTokens":222},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6363},"cache_creation_input_tokens":6363,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":45,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add a new schema called \"Project\" with typename \"com.example.type.project\" and fields: name (string), description (string), and status (string).","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a new schema called \"Project\" with specific fields.","options":{}},{"type":"text","text":"I'll create the \"Project\" schema with the specified fields right away.","options":{}},{"type":"tool-call","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","name":"add-schema","params":{"name":"Project","typename":"com.example.type.project","jsonSchema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"status":{"type":"string"}},"required":["name"]}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Ny1hZ8DXEAzHcL7jxHdtTV","name":"add-schema","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01XSZ14VPkLuazo744qQnyWU","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:06:52.150Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" **Project** schema has been successfully added to the space! Here's a summary:","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\n- **Name:** Project\n- **Typename:** `com.example.type.project`\n- **Fields:**\n - `name` (string)","metadata":{}},{"type":"text-delta","id":"0","delta":" — required\n - `description` (string)\n - `status` (string)\n\nYou can now create objects","metadata":{}},{"type":"text-delta","id":"0","delta":" using this schema. Would you like to create a Project object?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":95,"totalTokens":96},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":179},"cache_creation_input_tokens":179,"cache_read_input_tokens":6363,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01A47xWHS9bXEJh62LkLSpGH","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:06:55.771Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me check what schemas are available to find one for","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" organizations.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoECClkIDRgCKkAuMv165w92t7mQLGkXCpxArS4G2qOl5R6WYjeo6Pdaw59ntEOEy7GuQm3IBbb7rGJ3/LRuynh57+SP6100EFqeMg9jbGF1ZGUtb3B1cy00LTY4ABIM02Bw4A3dxM5AQ/jeGgxcHgnGDxOWDomg05QiMB/+jP24fCB5JpUf/LqCbKSCnE6ZnqGoc8AvPnXP+U3fc9t8b39JyPycVpHZKApwKipWlXRQ+4JQfqvvk8/h2MNCmqmETZcwSWGR/gitYCBUUqbvFSRbF9qFLcMhEYVsiJ0i2hEElzFSatJsJKRnkZZhgXLb1FRW/HOa8u3iuARmQU2B1mMyqXUYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first check the available schemas to find","metadata":{}},{"type":"text-delta","id":"1","delta":" the right type for an organization.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":82,"totalTokens":85},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6340},"cache_creation_input_tokens":6340,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":19,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me check what schemas are available to find one for organizations.","options":{}},{"type":"text","text":"Let me first check the available schemas to find the right type for an organization.","options":{}},{"type":"tool-call","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Vrs6qfvFo1sJQivR67gM4s","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:29.669Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" found the schema for `org.dxos.type.organization`. Let me create the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eo8CClkIDRgCKkD8UtVkYQcTMmOCAD3U5gSZIGUKqfZcRZ3d7gvmAv94K0PqdjPeZLraPCoYsfDfWHO46wp3rta19wYYSb75bTrHMg9jbGF1ZGUtb3B1cy00LTY4ABIMf2mEkUjboPAz1exnGgwWuSmzfuhlyZgQzpEiMHDoYtjK59fSKkvSMKVOHZUvYKhGoSzoFGgRPZu87KEKyE2HWyBJYYKozOTY4WG6VCpktXw1HiO33TiK2EnTSNpaK+j1STtRR91ukLrdI2D+TUxlMgLXVDVzfWrsjqn2CpqT0H01RdJD04YhyNmAOotS4mLlvxtqjUwInZF/sD6jhi+BDpV2EaXQwT3WUkOFt+ijh26LVRgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the `org.dxos.type.organization` schema. Let me create the organization now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"{\"typen","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"ame\": \"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"rg.dxos","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":".type.org","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"anization\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"\"data\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":": {\"nam","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"e\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":":\"Cyberdyne ","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"Syst","metadata":{}},{"type":"tool-params-delta","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","delta":"ems\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":148,"totalTokens":149},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":10379},"cache_creation_input_tokens":10379,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me check what schemas are available to find one for organizations.","options":{}},{"type":"text","text":"Let me first check the available schemas to find the right type for an organization.","options":{}},{"type":"tool-call","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found the schema for `org.dxos.type.organization`. Let me create the organization.","options":{}},{"type":"text","text":"I found the `org.dxos.type.organization` schema. Let me create the organization now.","options":{}},{"type":"tool-call","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","name":"create-object","params":{"typename":"org.dxos.type.organization","data":{"name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTE6","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE6","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01RaHK5R9vSC5KcHY7p9BdFc","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:34.212Z","metadata":{}},{"type":"tool-params-start","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","name":"add-to-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"{\"ob","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"j\": \"dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"n:e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"o:BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"MULP","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"W5FB55","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"UZ7KP5HLDH","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"VTXU","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"THE2U:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"01JGF","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"JJZ0","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"0G0WKQSJGMA","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","delta":"KCNTE6\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":108,"totalTokens":109},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":262},"cache_creation_input_tokens":262,"cache_read_input_tokens":10379,"input_tokens":1,"output_tokens":45,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>\n\n## Context Objects\n\n<object>\n <dxn>dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE6</dxn>\n <typename>org.dxos.type.organization</typename>\n</object>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me check what schemas are available to find one for organizations.","options":{}},{"type":"text","text":"Let me first check the available schemas to find the right type for an organization.","options":{}},{"type":"tool-call","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01PXwxPbeaK2KSxsmV2M1iHa","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found the schema for `org.dxos.type.organization`. Let me create the organization.","options":{}},{"type":"text","text":"I found the `org.dxos.type.organization` schema. Let me create the organization now.","options":{}},{"type":"tool-call","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","name":"create-object","params":{"typename":"org.dxos.type.organization","data":{"name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_016Kk9VYmn5LCdQPEksG9Ex7","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTE6","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE6","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"tool-call","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","name":"add-to-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE6"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01DJBRn7K36pdubJHBJPDVzC","name":"add-to-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_014ULxo413MGMaMPWvSdxCEa","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:36.771Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I","metadata":{}},{"type":"text-delta","id":"0","delta":"'ve created the new organization **\"Cyberdyne Systems\"** and added it to the chat context. You","metadata":{}},{"type":"text-delta","id":"0","delta":" can see it referenced above. Would you like to add any","metadata":{}},{"type":"text-delta","id":"0","delta":" additional details to it, such as a description, website","metadata":{}},{"type":"text-delta","id":"0","delta":", status, or location?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":56,"totalTokens":57},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":10867},"cache_creation_input_tokens":10867,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01L8WXZJqhejDxYigWCbs4RS","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:40.031Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to create a person with a reference to an organization called \"Cyberdyne Systems\". Let me first search for the","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" organization and list the schemas to find the correct types.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvYCClkIDRgCKkAfXbC9LPyCY8oCdha0jTXO8bYsAXLqEmy1AiizHhe4VId/M+X4tn0hiavgMJwkFBWABLXNoLVzKGfn9vxbrv43Mg9jbGF1ZGUtb3B1cy00LTY4ABIM0aSwDMtyZPHGXdzyGgySUVBJ8V92e+kWcXEiMPWFcL1tCqw6Pa9SzrZXOAKuo23doFwtYsHQviqKeiy7cXVgObYkJn2uykH7YWr8oSrKAbk0v1vmiJ44iHdFiXwyYen/udvDmFm2zHGQicPmDZtoyoLy5VJ3n/ZNVdBrbk5iJ6OZezA282zQzicR7H1iAq1diL+B4iExONUYstHVEE9aysFcU00NBN8S+LVz5MHJM5PxiS0TccefLvKd8HcrQr031kqeY5Cds14VoCz4c10hCfz2O2RWHyh2z5sHv72nPZMG2R77EiLSvlLmNi/aq/EQkZ70MoXtDd55q4f7uNLWOXzlrh1O+E19/JiqzXIS8a/1tVi9C3FBhqoYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll start by searching for the organization \"Cyberdyne Systems\" and listing the available schemas to find the correct types for person and organization.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"{\"text\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"\"Cyberd","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"yne Systems","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":", \"incl","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"udeContent","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"\": tru","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"e","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":", \"limit\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","delta":"5}","metadata":{}},{"type":"tool-params-end","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","metadata":{}},{"type":"tool-params-start","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":195,"totalTokens":198},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6352},"cache_creation_input_tokens":6352,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a person with a reference to an organization called \"Cyberdyne Systems\". Let me first search for the organization and list the schemas to find the correct types.","options":{}},{"type":"text","text":"I'll start by searching for the organization \"Cyberdyne Systems\" and listing the available schemas to find the correct types for person and organization.","options":{}},{"type":"tool-call","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_019jUJpGGkZ2KwyLrCbU5rKU","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:43.946Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" organization \"Cyberdyne Systems\" was not found in the query","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" results. I need to create it first, then create the person with a reference to it.\n\nLet me create the","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" organization first.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvUCClkIDRgCKkANGiLzBjOvQdYqIxHUxhCD9LyhMSFnKX5Bvhst+e51RBSOcc94N/3CN2zasI5ybPhtu37OqbbG97mm1TiTRztrMg9jbGF1ZGUtb3B1cy00LTY4ABIMxgLT0w8N1a5A10W5GgxdJB/niySJ7EdFIwkiMPhk6VOsiQKF5wf6j+LLtAub6XA4QpTIXTBLOq3KYlAVQSwGIFN0qVt7xX/pHRPYwSrJAQivHj3WJaDqNxuex5fr3FCfbFw8cFUpmFNlV58qMTSh/GB5VIGpYzxnDO8HKj9GdvQzq5cUjUp6P6vPzsJ6wst7CuiPJs0fsDG90aL020+g5VhZsbEKO6nPi8Gunk4spM0XLkPcAWovnN5OKYWO8RCOfLZd3Rgt3Mkb5373EMnQr0YZttn4+7a4zGHPKupGLMlyMMqWjGKG5mjVEdF79++QsnD/GonhH2FIXx5pOkPXoDcp+y+rYP+V2AMJyRgohdr0UWodibzueBgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"The organization \"Cyberdyne Systems\" doesn't exist yet, so I'll create it first, and","metadata":{}},{"type":"text-delta","id":"1","delta":" then create the person with a reference to it.\n\n**Step 1:** Create the organization \"Cyberdyne Systems\".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01WydnnrjS62AmgmJnoN6fik","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"{\"typename\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":": \"org.dxos.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"e.organizat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"ion","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":", \"data","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"\": {\"name\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":":\"Cybe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"rd","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"yne Sy","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WydnnrjS62AmgmJnoN6fik","delta":"stems\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01WydnnrjS62AmgmJnoN6fik","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":193,"totalTokens":194},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4190},"cache_creation_input_tokens":4190,"cache_read_input_tokens":6352,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a person with a reference to an organization called \"Cyberdyne Systems\". Let me first search for the organization and list the schemas to find the correct types.","options":{}},{"type":"text","text":"I'll start by searching for the organization \"Cyberdyne Systems\" and listing the available schemas to find the correct types for person and organization.","options":{}},{"type":"tool-call","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The organization \"Cyberdyne Systems\" was not found in the query results. I need to create it first, then create the person with a reference to it.\n\nLet me create the organization first.","options":{}},{"type":"text","text":"The organization \"Cyberdyne Systems\" doesn't exist yet, so I'll create it first, and then create the person with a reference to it.\n\n**Step 1:** Create the organization \"Cyberdyne Systems\".","options":{}},{"type":"tool-call","id":"toolu_01WydnnrjS62AmgmJnoN6fik","name":"create-object","params":{"typename":"org.dxos.type.organization","data":{"name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01WydnnrjS62AmgmJnoN6fik","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTHX","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHX","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Sx5SPaTKf3jRia3z3vjNYu","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:48.833Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"**Step 2:** Now","metadata":{}},{"type":"text-delta","id":"0","delta":" create the person \"John Doe\" with a reference to the newly created organization.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"{\"typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"ename","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":" \"org.d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"xo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"s.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"type.pe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"rson\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":", \"data\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":" {\"f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"ul","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"lName\":\"John","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":" Doe\",","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"\"orga","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"nizat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"io","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"n\":{","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"\"/\":\"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"xn:echo:BD","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"JXM","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"UL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"PW5F","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"B55UZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"7KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"DHVTXUTHE2","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"U:01JGF","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"JJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"00G0WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","delta":"MAKCNTHX\"}}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":173,"totalTokens":174},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":289},"cache_creation_input_tokens":289,"cache_read_input_tokens":10542,"input_tokens":1,"output_tokens":6,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a person with a reference to an organization called \"Cyberdyne Systems\". Let me first search for the organization and list the schemas to find the correct types.","options":{}},{"type":"text","text":"I'll start by searching for the organization \"Cyberdyne Systems\" and listing the available schemas to find the correct types for person and organization.","options":{}},{"type":"tool-call","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_0173zZ8zXUEo1P29ckKypZRt","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_018LnE3CPgJhrwuGEoAmm73H","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The organization \"Cyberdyne Systems\" was not found in the query results. I need to create it first, then create the person with a reference to it.\n\nLet me create the organization first.","options":{}},{"type":"text","text":"The organization \"Cyberdyne Systems\" doesn't exist yet, so I'll create it first, and then create the person with a reference to it.\n\n**Step 1:** Create the organization \"Cyberdyne Systems\".","options":{}},{"type":"tool-call","id":"toolu_01WydnnrjS62AmgmJnoN6fik","name":"create-object","params":{"typename":"org.dxos.type.organization","data":{"name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01WydnnrjS62AmgmJnoN6fik","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTHX","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHX","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"text","text":"**Step 2:** Now create the person \"John Doe\" with a reference to the newly created organization.","options":{}},{"type":"tool-call","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","name":"create-object","params":{"typename":"org.dxos.type.person","data":{"fullName":"John Doe","organization":{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHX"}}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01J1scCcFyXHscPoEuaVYEZ1","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTKA","@type":"dxn:type:org.dxos.type.person:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTKA","fullName":"John Doe","organization":{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHX"}}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Vdv9gFBkBjvHcpV2NEMPxA","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:52.364Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! Here's a summary of what was created:\n\n1. **Organization** — *Cyberdyne Systems* (`","metadata":{}},{"type":"text-delta","id":"0","delta":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCN","metadata":{}},{"type":"text-delta","id":"0","delta":"THX`)\n2. **Person** — *John Doe* (`dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0","metadata":{}},{"type":"text-delta","id":"0","delta":"WKQSJGMAKCNTKA`) with the `organization` field referencing Cyberdyne Systems.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":167,"totalTokens":168},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":385},"cache_creation_input_tokens":385,"cache_read_input_tokens":10831,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the organization \"Obsolete Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01XeWhNhVMJdZYXDPe2yHtc2","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:14:57.825Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me search for the organization \"Obsolete Corp\" first to find its ID.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoMCClkIDRgCKkBh5cBbPReV0hFl90boBATi5YxFuSAyCHHlM+0e2D5QuBIJcNj0c0QNhoSa89PneLYY4zwknzexmdzGdIM+OhIsMg9jbGF1ZGUtb3B1cy00LTY4ABIMd8oFSefJ3Hlv+5EPGgxVJBQ8jJHqz5Xq/bEiMDfCkAYsQ44Yw411FxsKaiWHBtkNRj5u31QXAcImEbnV0G/BLppkIJEg+BS9VO5urypYCSHxA+kMwsmt3nS8k2iAEputp9NCMZy8WijhAXiXzP8kbcgYeAS/ZEiAWcPUPdPCK5FRnDycF4sX+VNg+sk2FWzmlqvXjnKfbj7gcDvRPouRZ0auF+4ixBgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me find the \"Obsolete Corp\" organization first.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"{\"tex","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"t\": \"Obsolet","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"e Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":", \"incl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"udeCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"ntent\": t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"rue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":"limit\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","delta":": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":138,"totalTokens":141},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6337},"cache_creation_input_tokens":6337,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":33,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the organization \"Obsolete Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for the organization \"Obsolete Corp\" first to find its ID.","options":{}},{"type":"text","text":"Let me find the \"Obsolete Corp\" organization first.","options":{}},{"type":"tool-call","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","name":"query","params":{"text":"Obsolete Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTM2","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTM2","name":"Obsolete Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_016Azk7tfC9tFBXRdNDzTTmG","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:01.148Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found it. Let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me delete it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtYBClkIDRgCKkBxIHeOPVyy4vswklm2nrhYYQAmSSp35sA5Kn6tRV3hr4vNiBxsxlpgzSxwusjC2BYTy0lzT8FL2NWBP/vvqrLjMg9jbGF1ZGUtb3B1cy00LTY4ABIMBlitHq2oknHRj+E8GgySUvdgqy/6H6Nm+KoiMKtXeWnMGt+rVw73K/iVR8IZDm4DTwvst4J5oZuIug5l1dLQANsfLPLg10BggFGW6CoriHMtMhLOQpRkSAYmfp2xCC+DNFsnKNbxY2s3xnKEPCQYj2Dh6dXUcvaTHhgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Found the organization \"Obsolete Corp\". Deleting it now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_018YHenmMYxtB98npWvmdYq7","name":"delete-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"{\"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"bj\": \"dxn","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":":echo:BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"MULPW","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"5FB55UZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"7KP5HLDHVT","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"XUTHE2U:","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"01","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"JGFJJZ00G0","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"QSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"MAKCNTM2","metadata":{}},{"type":"tool-params-delta","id":"toolu_018YHenmMYxtB98npWvmdYq7","delta":"\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_018YHenmMYxtB98npWvmdYq7","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":146,"totalTokens":147},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":260},"cache_creation_input_tokens":260,"cache_read_input_tokens":6337,"input_tokens":1,"output_tokens":11,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the organization \"Obsolete Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for the organization \"Obsolete Corp\" first to find its ID.","options":{}},{"type":"text","text":"Let me find the \"Obsolete Corp\" organization first.","options":{}},{"type":"tool-call","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","name":"query","params":{"text":"Obsolete Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01TaB3tJ1WMreGWCDmSD1Ude","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTM2","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTM2","name":"Obsolete Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found it. Let me delete it.","options":{}},{"type":"text","text":"Found the organization \"Obsolete Corp\". Deleting it now.","options":{}},{"type":"tool-call","id":"toolu_018YHenmMYxtB98npWvmdYq7","name":"delete-object","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTM2"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_018YHenmMYxtB98npWvmdYq7","name":"delete-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01BAyHbxP4G4WimbqS4CJgUJ","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:04.804Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" organization **\"Obsolete Corp\"** has been successfully deleted.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":18,"totalTokens":19},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":146},"cache_creation_input_tokens":146,"cache_read_input_tokens":6597,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Update the organization \"Old Name Inc\" and change its name to \"New Name Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_014Zs3avGEjnF1kNgx24FkdC","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:07.710Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me search for the organization with the name \"Old Name Inc\" first.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoECClkIDRgCKkBr6ZF6D7+FwA0kFy96/aj0//Yp51g83o7SKaBA84k4QeooyN6vSOI/pbn0p16qnlD03LjVtOeqS2lSwPin+zFkMg9jbGF1ZGUtb3B1cy00LTY4ABIMRReH6zGGvCaO5hIGGgzAAzDmLC4OTDC43noiMCVEvjzr5D6RvUPIicf8D7FnousOrBrmW17c78lAAbvgfRqTg3yrOBOzJhGZ83cIbypW9c3kyuWKPlU+qsKv6Mr1YSNRCoBHXmF/f0lKECXkaxYcIwF6iKy8GJnljjv2sOZig6RKc9wIl5KcmlLp8jaiYyVDVsZc+Yd7aaUXjkw7me/sUkX+Za4YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first","metadata":{}},{"type":"text-delta","id":"1","delta":" search for the organization \"Old Name Inc\" in the space.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":"{\"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":"xt\": \"O","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":"ld Name","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":" Inc\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":", \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":"ncludeC","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":"ontent","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":"\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","delta":", \"limit\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":138,"totalTokens":141},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6346},"cache_creation_input_tokens":6346,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Update the organization \"Old Name Inc\" and change its name to \"New Name Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for the organization with the name \"Old Name Inc\" first.","options":{}},{"type":"text","text":"Let me first search for the organization \"Old Name Inc\" in the space.","options":{}},{"type":"tool-call","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","name":"query","params":{"text":"Old Name Inc","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTPD","@type":"dxn:type:org.dxos.type.blueprint:0.2.0","@meta":{"key":"org.dxos.blueprint.database","keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPD","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTPC"}},"name":"Database","tools":["org.dxos.function.database.context-add","org.dxos.function.database.context-remove","org.dxos.function.database.load","org.dxos.function.database.object-create","org.dxos.function.database.object-delete","org.dxos.function.database.object-update","org.dxos.function.database.query","org.dxos.function.database.relation-create","org.dxos.function.database.relation-delete","org.dxos.function.database.schema-add","org.dxos.function.database.schema-list","org.dxos.function.database.tag-add","org.dxos.function.database.tag-remove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNTPK","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPK","name":"Old Name Inc"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01PmgVKyHBAQsQyfvVa3H9HJ","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:12.256Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the organization \"Old Name Inc\" with ID `01JGFJJZ00G0WKQSJGMAKCNTPK`. Now I'll update its name to \"New Name Corp\".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErQCClkIDRgCKkAEyzIfs8uUjfRVAo8ryBnfPbLEl7qGKvswOqJnXL6Wx9FLxKQOVmvAtWVykEeL04G9+sNtbucHddG0iFp8b2zdMg9jbGF1ZGUtb3B1cy00LTY4ABIMDtLgPyktN0IJCpcNGgwQgUItduT32UrzwUsiMByxLBlvZqu4cnfAwykWuTxuKCR3frXrtSnl+hXL7LJXTE8gSRnhML4lBoSODjRIjCqIAabKDnzJJ1Q8MjgdWxDxJ56LbBP8RqFAY1noAKOONCbET2vMNzT9izzhA8vaOltNbvoISB/gUynL5s4iHVeZlBJaqWru5FCCBARdB0I+/U4f/Eu0FB37FRRJ2DPm0gSqILBqqIo7qK2RYMAW8fzLrEGoNyuaT854/Yho7g9QCo0p4koXQPEZimYYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the organization \"Old Name Inc\". Let me update its name to \"New Name Corp\".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","name":"update-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"{\"obj\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":": \"01JGF","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"JJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"G0WKQSJGMAKC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"NTPK\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":", \"proper","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"ties\": {\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"name\":\"New","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":" Name ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"Corp","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","delta":"\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":178,"totalTokens":179},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":640},"cache_creation_input_tokens":640,"cache_read_input_tokens":6346,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Update the organization \"Old Name Inc\" and change its name to \"New Name Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for the organization with the name \"Old Name Inc\" first.","options":{}},{"type":"text","text":"Let me first search for the organization \"Old Name Inc\" in the space.","options":{}},{"type":"tool-call","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","name":"query","params":{"text":"Old Name Inc","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_015YANE6KVAXzbLT7rdqBQtL","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTPD","@type":"dxn:type:org.dxos.type.blueprint:0.2.0","@meta":{"key":"org.dxos.blueprint.database","keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPD","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTPC"}},"name":"Database","tools":["org.dxos.function.database.context-add","org.dxos.function.database.context-remove","org.dxos.function.database.load","org.dxos.function.database.object-create","org.dxos.function.database.object-delete","org.dxos.function.database.object-update","org.dxos.function.database.query","org.dxos.function.database.relation-create","org.dxos.function.database.relation-delete","org.dxos.function.database.schema-add","org.dxos.function.database.schema-list","org.dxos.function.database.tag-add","org.dxos.function.database.tag-remove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNTPK","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPK","name":"Old Name Inc"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found the organization \"Old Name Inc\" with ID `01JGFJJZ00G0WKQSJGMAKCNTPK`. Now I'll update its name to \"New Name Corp\".","options":{}},{"type":"text","text":"I found the organization \"Old Name Inc\". Let me update its name to \"New Name Corp\".","options":{}},{"type":"tool-call","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","name":"update-object","params":{"obj":"01JGFJJZ00G0WKQSJGMAKCNTPK","properties":{"name":"New Name Corp"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01P8JGE2cLd3dqv7MVBYRUCw","name":"update-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTPK","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPK","name":"New Name Corp"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_016ETV1dAbf1suGyiyp97U3P","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:15.882Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done! The","metadata":{}},{"type":"text-delta","id":"0","delta":" organization has been successfully updated from **\"Old Name Inc\"** to **\"New Name Corp\"**.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":27,"totalTokens":28},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":269},"cache_creation_input_tokens":269,"cache_read_input_tokens":6986,"input_tokens":1,"output_tokens":3,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Search for all organizations. How many are there?","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Wsj7ykAtbVAAJ9mqKR8bw1","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:18.430Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me search for organizations. I need to find the right","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" typename first. Let me list schemas to find the","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" organization type, and also query for organizations.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtoCClkIDRgCKkBjv4EQVgTLQ6zjhbY+bJMlCr1JvkABHfn2A1RTkprOwK2Dfcg83FQwOgi56K1FbZWwgBqu15VkdQO6XEQv7iYtMg9jbGF1ZGUtb3B1cy00LTY4ABIMkdrZ6PHpabYNrZW6Ggx8c1i5Oz8iFGZr6nsiMBVgnMnc5OaQjkvNY6gpC1J5imnydQhsHoYVFpxyReBxcaBaU6K+6bkb0mDN63KThyquAc8YGsVN+N8DDAv+flifYErGRLQ1T89ytWiV++SEclHV9Kzkwl7dkSUdGj+veFL0kH5qnK7oZ87QuT1ocJCQL9fKUzPWi28PppLlSHjwxc4Bv6+1fyF7luPWhJlghXsOBnEwU4knwaFiXGU4m+L/kzy5Wb+PM76Cr91+0r2FmBx6lyPLPNYp9A1vjNxOXmWqHwWRviaBOIBtXmxp5xTmxubDfySXCVUggeB2qHvuAxgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01U7ywWwpmo7ncc7ERMkki4S","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01U7ywWwpmo7ncc7ERMkki4S","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01U7ywWwpmo7ncc7ERMkki4S","metadata":{}},{"type":"tool-params-start","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":"{\"t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":"ext\": \"or","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":"ganization\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":", \"includeCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":"ntent\": fal","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":"se","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":", \"limi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","delta":"t\": 50}","metadata":{}},{"type":"tool-params-end","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":153,"totalTokens":156},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":6338,"input_tokens":3,"output_tokens":20,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Search for all organizations. How many are there?","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for organizations. I need to find the right typename first. Let me list schemas to find the organization type, and also query for organizations.","options":{}},{"type":"tool-call","id":"toolu_01U7ywWwpmo7ncc7ERMkki4S","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","name":"query","params":{"text":"organization","includeContent":false,"limit":50},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01U7ywWwpmo7ncc7ERMkki4S","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS4","typename":"org.dxos.type.organization","label":"Acme Corp"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS6","typename":"org.dxos.type.organization","label":"Globex Industries"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01C1QtG8gsDEMoUjozGEqeWT","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:22.228Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Now","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" let me also do a proper type-based search to make","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" sure I get all organizations.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eo4CClkIDRgCKkAUH7+brdcHhiB3PuCSW0AlufUiqclaApc5zMqbluqpaLeWsYwyiHO9yrO0ASghhkiK0t+D5P3HC9Lp6e9NJJRrMg9jbGF1ZGUtb3B1cy00LTY4ABIMuRiIpBmvvMUGJJekGgyFTXP+2BilNdpeWJQiMDPDVTDTjLmiFunTouTbtBB9YLG6LfwMuqmx7IBNo6bCzTmyN8rFuN5wnToX9JrfsipjFif4kdwO2yfSwwW7Csk2TNEFsQq1xi1ugND7Xm9B2I8cQbzTuNYL2NFM7VN19CMzXbPSoaTb+3GhluM+PW4QovVSSiGvybWYDOO7QpMv+zjUS3n+MsjMPliCntd6K9sGh2YPGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me also","metadata":{}},{"type":"text-delta","id":"1","delta":" do a type-based query to make sure I capture all organizations:","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"{\"typen","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"ame\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"org.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"os.type.o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"rganiz","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"ation\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":", \"inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"ludeConte","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"nt\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"tru","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":"e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":", \"limit\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","delta":" 50}","metadata":{}},{"type":"tool-params-end","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":147,"totalTokens":148},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4317},"cache_creation_input_tokens":4317,"cache_read_input_tokens":6338,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Search for all organizations. How many are there?","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for organizations. I need to find the right typename first. Let me list schemas to find the organization type, and also query for organizations.","options":{}},{"type":"tool-call","id":"toolu_01U7ywWwpmo7ncc7ERMkki4S","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","name":"query","params":{"text":"organization","includeContent":false,"limit":50},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01U7ywWwpmo7ncc7ERMkki4S","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01BHXRNpdLa2VSA1N1YTca6V","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS4","typename":"org.dxos.type.organization","label":"Acme Corp"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS6","typename":"org.dxos.type.organization","label":"Globex Industries"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Now let me also do a proper type-based search to make sure I get all organizations.","options":{}},{"type":"text","text":"Let me also do a type-based query to make sure I capture all organizations:","options":{}},{"type":"tool-call","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","name":"query","params":{"typename":"org.dxos.type.organization","includeContent":true,"limit":50},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01S4jZ5PoGEM7e3xvABYXFd3","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTS4","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS4","name":"Acme Corp"},{"id":"01JGFJJZ00G0WKQSJGMAKCNTS6","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS6","name":"Globex Industries"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012a41f4uq16imxgpiwMkL7w","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:26.212Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"There","metadata":{}},{"type":"text-delta","id":"0","delta":" are **2 organizations** in the space:\n\n1. **Acme Corp**\n2. **Globex Industries**","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":32,"totalTokens":33},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":394},"cache_creation_input_tokens":394,"cache_read_input_tokens":10655,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Load the full details of object dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTVY. What is its description?","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_014FdPLJ6CVYYPhL4BhB9Xu1","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:28.932Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to load an object and find its description.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvgBClkIDRgCKkAKbfGhQHtf65vHDDyvUMaI7Hlce+jwCHwX1OkaGI5OTZmAOWAFF0X/RqLbLM/02EndHxRUwPwhD1pLr7rIz/FOMg9jbGF1ZGUtb3B1cy00LTY4ABIM9BLM3gZxbwc6Ih3pGgxGT8lO5O523Mm4THgiMCc4ZDt8GboAmmf+P6cofPfDow2ufk6NGJg3swPFZcrl4p1xqBP31aRw2QS+u0C1WipNZBEU+9dpKIgD/8hqu95/DIq/Dm31WlaIT3ka1D8NCcKFCjYJtZ3tgGk+WeFv3mDL7O4BXIWU9zhkij8TmJUOwKGcGvGnqqNKb5k+xdQYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_013irF5N1gnga5JLKxeCqEdB","name":"load-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"{\"ref","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"s\": [\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"dxn:echo:B","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"DJXMULPW5F","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"B55UZ7KP5","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"HLDHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"TXUTHE2U:","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"01JGFJJZ00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"0WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"MAKCNT","metadata":{}},{"type":"tool-params-delta","id":"toolu_013irF5N1gnga5JLKxeCqEdB","delta":"VY\"]}","metadata":{}},{"type":"tool-params-end","id":"toolu_013irF5N1gnga5JLKxeCqEdB","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":137,"totalTokens":140},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6394},"cache_creation_input_tokens":6394,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":29,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Load the full details of object dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTVY. What is its description?","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to load an object and find its description.","options":{}},{"type":"tool-call","id":"toolu_013irF5N1gnga5JLKxeCqEdB","name":"load-object","params":{"refs":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTVY"]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_013irF5N1gnga5JLKxeCqEdB","name":"load-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTVY","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTVY","description":"A detailed organization.","name":"Detail Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Q3TusMaYPA6od1Txs45ehi","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:31.046Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The object","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" has been loaded. Let me provide the details to the user.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ev4BClkIDRgCKkCKOSPgW6VrGihqE4zPDCJLBwhL/kS2VXZB7xp+uIo/fEE4n7n3ypC3NeQvBclM0mfkmW0EwKvvfaSACVdXRRVOMg9jbGF1ZGUtb3B1cy00LTY4ABIMobuhc8LOBdL9X9SfGgyxNUsxrb2lT+4BQZ8iMOnpqRewn+Ug3xZ0bBuli0sDMTRZUsNNgO1nf5LKptnKUuWV1I705opgTlj7qUfJ9SpTIRFp73aC725NumF904idgAFiX2FmCGWact8ZGCDfnPA/Skf/DfgpcNTaNuMwTJVyNbD8lUHw/BQVvVOYYr5BTH/zppRZPrV6zMvvcXzgeBhY3U8YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Here","metadata":{}},{"type":"text-delta","id":"1","delta":" are the full details of the object:\n\n- **DXN:** `dxn:echo:BDJXMULPW5FB","metadata":{}},{"type":"text-delta","id":"1","delta":"55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTVY`\n- **Type:** `org.dxos.type.organization","metadata":{}},{"type":"text-delta","id":"1","delta":"` (v0.1.0)\n- **Name:** Detail Corp\n- **Description:** *\"A detailed organization.\"*\n\nSo","metadata":{}},{"type":"text-delta","id":"1","delta":", its description is **\"A detailed organization.\"**","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":161,"totalTokens":162},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":268},"cache_creation_input_tokens":268,"cache_read_input_tokens":6394,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create an Employer relation from person \"John Connor\" to organization \"Cyberdyne Systems\" with role \"Engineer\". List schemas first to find the relation typename.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_014xrXoku84QJKU2yZErBYa8","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:36.133Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to create a relation between two objects. Let me first list schemas","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" to find the relation typename, and also search for the two objects.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtICClkIDRgCKkA8i1NmRwma6eBeWhFTMEcAx8/fEa2TE3K5uDRgy0rpPHmYlvWkHP2jfd8dvH4x1boWE3WqoDyTuu1GMR6XxhGxMg9jbGF1ZGUtb3B1cy00LTY4ABIMuO5kBJ1S4JgnllcqGgwnmTgO7FQkckHDfL8iMMuPejBx0S3l3wbp3PPlfR6AV7VI2ZaDtmz6z7B6wofrINIEu/KdZ+Ig95LXm/PDtSqmAb1iIT2GP9GGCkRnUo2sN2kq8hnOp2qMuSR+DaevNo94+vLIYWIqYZHqQ0RC6s0wBNd4qjBl+WNIP//yR/DYBumnflSH7FCARAl4FiUavLlDYJUTS8hwcP//EgU2pdDw+C0Ecjb0MPWvywtRnj4WPS9eUfghRVpJzbDnLuolabWrslmHKNyTpNFCl91GFiY6OdMoxGtpBjkxzHlKoyFYqJES81v48hkYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll start by listing the schemas and","metadata":{}},{"type":"text-delta","id":"1","delta":" searching for both \"John Connor\" and \"Cyberdyne Systems\" in parallel.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01S9QdxHSVLDDwoLZ6ViwEiE","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01S9QdxHSVLDDwoLZ6ViwEiE","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01S9QdxHSVLDDwoLZ6ViwEiE","metadata":{}},{"type":"tool-params-start","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":"{\"text","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":"\": \"Jo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":"hn Conno","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":"r\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":", \"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":"deContent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":", \"lim","metadata":{}},{"type":"tool-params-delta","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","delta":"it\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","metadata":{}},{"type":"tool-params-start","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"{\"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"xt","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"\": \"Cybe","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"rdyne Sys","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"tem","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"s\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":", \"includ","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"eContent\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":" true","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":", \"lim","metadata":{}},{"type":"tool-params-delta","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","delta":"it\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":254,"totalTokens":257},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6362},"cache_creation_input_tokens":6362,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":24,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create an Employer relation from person \"John Connor\" to organization \"Cyberdyne Systems\" with role \"Engineer\". List schemas first to find the relation typename.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a relation between two objects. Let me first list schemas to find the relation typename, and also search for the two objects.","options":{}},{"type":"text","text":"I'll start by listing the schemas and searching for both \"John Connor\" and \"Cyberdyne Systems\" in parallel.","options":{}},{"type":"tool-call","id":"toolu_01S9QdxHSVLDDwoLZ6ViwEiE","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","name":"query","params":{"text":"John Connor","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01S9QdxHSVLDDwoLZ6ViwEiE","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTXP","@type":"dxn:type:org.dxos.type.person:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXP","fullName":"John Connor"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTXR","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXR","name":"Cyberdyne Systems"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0171zL6bTDiQLnzgv5bJwErU","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:40.654Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" found:\n- The relation typename: `org.dxos.relation","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".employer` (source: person, target: organization)\n- John Connor: `d","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"xn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXP`\n-","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Cyberdyne Systems: `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXR`\n","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n\n- Now","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" I'm ready to establish the employer relation, linking John Connor as the source to Cyberdyne Systems","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" as the target.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtQEClkIDRgCKkDsPYPuc9rOzlaFwhUtaruRlGF7kOLx3tkd1fsV3ct4LWrCuvf8NvVvFJDyx3qPdEHepad8w3D06z3T6k1sUCfCMg9jbGF1ZGUtb3B1cy00LTY4ABIMnYCJqL/+h01NtL4vGgzQkWN4144snGQzeMMiMK+hIjGWB7rjDHks/N6noq/qHS9Y2AJvumyOWJFlL99w3m0Q3MX8/mocyfdA7gmBQSqoA3jpPle9rgSGEtqTQoxWi4TNIEgFDWP0qtfKLiAdVJTlii5NhoblxoJ4pT/yGeMlggqZkOyHW9E6qpP2ZF8HS8Z1aGu0Dnn17Ils1N1j1w3h0P1NJrkChgMoxCddPYxt9HUfdZXf58YdfYJZiNtjY4kz72U4yOELrzAFX5uSA7Trq5OlrXDWRYYPH9m67zALKOXEP9wNafJGYIbd5ql06YmPy8FkX74wXZBgIn3ZTLtRmR7XHmh3//jHaAM5aLKfU3SW5r8otN8xWLlEejipVki9ECiuQjC6lr6nJ0F/SXWrTDujgrtrH6K21GxF4hJ6e5bqVuuqTcuunvtX3z1kGjWYt88ijwVFaVyRPkxqV5yzqpXm/py3u2gPmj4y4gSlxJoE7ZCTz3pAh8P75Kb5G3nS43SLjHs4B67giFfp4MkiKDx0terj7KiGoe5oa6qcH5KifQM1wObxNyz0ra8dlMTqfcXw13NXMi1AeC61DRE+AGrNUzKlp2Tv1IrfZAhj8Dn2jGSLKwkBBUoD8ZFTjz2PaqM2Z5MGVv7ugUTX7aZkCYbozSSJR5EYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found everything I need:\n\n- **Relation schema**: `org.dxos.relation.employer` (source: Person → target","metadata":{}},{"type":"text-delta","id":"1","delta":": Organization)\n- **John Connor** (Person): `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JG","metadata":{}},{"type":"text-delta","id":"1","delta":"FJJZ00G0WKQSJGMAKCNTXP`\n- **Cyberdyne Systems** (Organization): `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U","metadata":{}},{"type":"text-delta","id":"1","delta":":01JGFJJZ00G0WKQSJGMAKCNTXR`\n\nNow I'll create the Employer","metadata":{}},{"type":"text-delta","id":"1","delta":" relation:","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","name":"create-relation","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"{\"typena","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"me\": \"or","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"g.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"dxos.r","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"elation.e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"mployer\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"so","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"urce\": \"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"xn:ec","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"ho:BD","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"JXMULPW5FB5","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"5UZ7KP5HLD","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"HVTXUTH","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"E2U:01JGFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"00G0WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"QSJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"GMAKCNTXP","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":", \"target\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":": \"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"xn:echo:BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"MULPW","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"5FB55UZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"7KP5HLD","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"HVTXUTHE2","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"U:01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"GFJJZ00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"0WKQSJGMAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"TXR\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":", \"proper","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"ties\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":" {\"r","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"ole\":\"Engine","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","delta":"er\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":605,"totalTokens":606},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4550},"cache_creation_input_tokens":4550,"cache_read_input_tokens":6362,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create an Employer relation from person \"John Connor\" to organization \"Cyberdyne Systems\" with role \"Engineer\". List schemas first to find the relation typename.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a relation between two objects. Let me first list schemas to find the relation typename, and also search for the two objects.","options":{}},{"type":"text","text":"I'll start by listing the schemas and searching for both \"John Connor\" and \"Cyberdyne Systems\" in parallel.","options":{}},{"type":"tool-call","id":"toolu_01S9QdxHSVLDDwoLZ6ViwEiE","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","name":"query","params":{"text":"John Connor","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01S9QdxHSVLDDwoLZ6ViwEiE","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01VHSFK3tgFoti7NsBMnoiP8","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTXP","@type":"dxn:type:org.dxos.type.person:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXP","fullName":"John Connor"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_013WpXnbu1VMr4TB8jiB4nTR","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTXR","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXR","name":"Cyberdyne Systems"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found:\n- The relation typename: `org.dxos.relation.employer` (source: person, target: organization)\n- John Connor: `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXP`\n- Cyberdyne Systems: `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXR`\n\n\n- Now I'm ready to establish the employer relation, linking John Connor as the source to Cyberdyne Systems as the target.","options":{}},{"type":"text","text":"I found everything I need:\n\n- **Relation schema**: `org.dxos.relation.employer` (source: Person → target: Organization)\n- **John Connor** (Person): `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXP`\n- **Cyberdyne Systems** (Organization): `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXR`\n\nNow I'll create the Employer relation:","options":{}},{"type":"tool-call","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","name":"create-relation","params":{"typename":"org.dxos.relation.employer","source":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXP","target":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTXR","properties":{"role":"Engineer"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01LnrhMoBh6vyVcs8oEvmTsU","name":"create-relation","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNV1G","@type":"dxn:type:org.dxos.relation.employer:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV1G","@relationSource":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTXP","@relationTarget":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTXR","role":"Engineer"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0146n76bVCARCZbuv7iGK9ZW","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:48.881Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The relation","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" was created successfully.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuEBClkIDRgCKkCuc2zGdF/RGz32S4l5ftvCq9ZYcY6NVOagV77V7jb9kHGINolxqdpzLOtTuKCnrmgCcnchwN3NmTKe9g8MvtLEMg9jbGF1ZGUtb3B1cy00LTY4ABIMyzZsIuHI7CUYbXA5Ggw4WGk95J1qhJxsF0MiMEYzXWCsww1fC06ySQIGOAAf26Uj6+WOGWUSlP5FWDg4vp/OCVKwUlwBv3pNTkMF6yo2BQ1tN69htIhJtNE6BSuVUCMhj8OsjkF8S4CLq11KDjTP6H3IJxAajRZeCo/PbgDO2FhXV9mqGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"The **Employer** relation has been created successfully! Here's a summary:\n\n| Field","metadata":{}},{"type":"text-delta","id":"1","delta":" | Value |\n|---|---|\n| **Relation Type** | `org.dxos.relation.employer` |\n| **Source (Person)** | John Connor |\n| **Target (Organization","metadata":{}},{"type":"text-delta","id":"1","delta":")** | Cyberdyne Systems |\n| **Role** | Engineer |\n\nJohn Connor is now linked to Cyberdyne Systems as an **Engineer**. 🔗","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":127,"totalTokens":128},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":623},"cache_creation_input_tokens":623,"cache_read_input_tokens":10912,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the relation dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV2G.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01SsXRWztVwrsgvcAuNkfwJG","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:52.844Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to delete a relation with the DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"U:01JGFJJZ00G0WKQSJGMAKCNV2G`.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErUCClkIDRgCKkBD+XIUJR/MipfJQpcJFuWC2IZShZjp3APtijUjd2+Y3wu/SaiBJUNjQEENg7SxaDOElnhUjzUFOStsviTovTE/Mg9jbGF1ZGUtb3B1cy00LTY4ABIM07HVXq7bLEbj4eqLGgzNN7DHc+ms5rdpXCAiMB8hnNvFvE5rMDrz6QtbeoJFy2dCstQ4MYs13xUeyrnLunsOl3aEbxflbCbJvLilPyqJAXf3MYGBAH/qXCT7ahcNgZJev9fj9ebBuwwcwSoTxBsE00+DWajfxBhsQENhTfXIhJU6cdqxIH9NLiRoPlqjnSnzeuMomsqY23KR1xjawLFwmaGh3jbB91MTWwNgwjim8sIKSK5XYKstjfBhvatgFQln9pk3t9xoVgBTXVY2eJlqpMhv+Uygky/fGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","name":"delete-relation","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"{\"rel\": \"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"xn:echo:BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"MULPW5FB","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"55UZ7KP5HLD","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"HVTXUTHE","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":":01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"GFJJZ00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","delta":"SJGMAKCNV2G\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":194,"totalTokens":197},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6388},"cache_creation_input_tokens":6388,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":53,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the relation dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV2G.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to delete a relation with the DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV2G`.","options":{}},{"type":"tool-call","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","name":"delete-relation","params":{"rel":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV2G"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Uw2dqfrLzK2jVHekHQesWe","name":"delete-relation","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01VTazT1FV3r1cKACa23p5ab","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:15:55.614Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The relation `","metadata":{}},{"type":"text-delta","id":"0","delta":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV2G` has been successfully deleted.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":68,"totalTokens":69},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":134},"cache_creation_input_tokens":134,"cache_read_input_tokens":6388,"input_tokens":1,"output_tokens":3,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add tag \"important\" to the organization \"Tagged Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0175e1mdEfpL6y9ExF6drybe","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:01.076Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I need to find both the tag \"important\" and the organization \"Tagged Corp\" in the space. Let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me search for both.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqwCClkIDRgCKkA0sHtSz7oMOuQ8aVqSez8MBd40opozb5ghwIMN5jsqt25jXQud4Bki1FCONsfN4B4BY5fgtrpKghXgx9Wyx0PFMg9jbGF1ZGUtb3B1cy00LTY4ABIMzaswkm40zjqRA3GlGgxknqYeaQxDjtmphxIiMFwGSXa8MljLDeFaj5jAuQod2vW/Rz6AjnRTcxUcnGBXTxjVZlvfKfZmRJJW2wS6EyqAAWPO+LXLNlsmtyYKKlHbi6QHXkjkWnUc+pnebEpoH7iNVG2Aa6FMxo4grnoKTiTJ0upyP2ATFdq71n2xwFD3IlPfusoK9EMAgn9cG/hsihPOulnPvuQaR2qzuGCELCT8/U57XsjTwwspWKaLrrNkzoRLYM6pmKQ0GxqjWx+7Qt53GAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll search for both the \"important\" tag and the \"Tagged Corp","metadata":{}},{"type":"text-delta","id":"1","delta":"\" organization simultaneously.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"{\"typenam","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"e\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"org.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"dxo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"s.type.ta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"g\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":", \"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"xt\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"important\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":", \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"ncludeCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"ntent\": tr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"ue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"\"limi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","delta":"t\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","metadata":{}},{"type":"tool-params-start","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":"{\"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":"xt\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":"Tagged Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":", \"in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":"cludeConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":"t\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":", \"limi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","delta":"t\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":246,"totalTokens":249},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6340},"cache_creation_input_tokens":6340,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":30,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add tag \"important\" to the organization \"Tagged Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I need to find both the tag \"important\" and the organization \"Tagged Corp\" in the space. Let me search for both.","options":{}},{"type":"text","text":"I'll search for both the \"important\" tag and the \"Tagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","name":"query","params":{"typename":"org.dxos.type.tag","text":"important","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","name":"query","params":{"text":"Tagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV40","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV40","label":"important"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV3Y","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV3Y","name":"Tagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_013Z7mc5vLjfWyhMq71xVeDB","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:05.733Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" both:\n- Tag \"important\": dxn:echo:BDJXMULPW5FB55UZ7K","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"P5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV40\n- Organization \"Tagged Corp\": dxn:echo:BDJXMULPW5FB55UZ7KP5","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV3Y","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoQDClkIDRgCKkA1nuWL8NCPZNPZS2Ax0COSC+mvmfTUEmQLtu8SF3BNePGnDzf6Iq3VW7RYEfHyJohGK0MD+yj6GZMY3nzx9mV1Mg9jbGF1ZGUtb3B1cy00LTY4ABIMox7venJkMioP/hmvGgynUMYqfG981b7ND4QiMAvOGEFdHKl0K0wZxZRHOLNxO3hI0sTkXlHIhO+icq+DlnFxfM+iUC/OMPLA1MV6FirYAYools1ltBbdpdY5pRGHvQuuCONOBY/RWu8YNFTf7Dkg/H8xwY9U8RPbJEQNkF2Q44tzOWVeazcXbp7JqBPZT5k+hB63fEiMLJoLMX5T3vHsRpIWcIy5Qeu3tQAeWP2DsFYUYxKtUGmwCOuTsrAl0xqObYwYSkbNdsB2Qxh/m89mJfMxzEfKt/5GgYkr2ZXz9lM+lM9HM3jJZQRJDkng9LsUxcfccnbnAYoD2gU+uLp3Js9oKVuiYHSaF0kyDiNr691+DewU3K5EPblUd+wvQOmwuJSoJnanaxgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found both the \"important\" tag and the \"Tagged Corp\" organization. Let","metadata":{}},{"type":"text-delta","id":"1","delta":" me add the tag now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_014vZHwSuhyfekWZmnFos3di","name":"add-tag","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"{\"tag\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"dxn:echo:BDJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"XMULPW5FB","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"55U","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"Z7KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"DHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"TXUTHE2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":":01JG","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"FJJZ00G0","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"WKQSJGMA","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"KC","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"NV","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"40\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":", \"obj\": \"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"xn:ech","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"o:BD","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"JXMULPW5FB5","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"5UZ7K","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"P5HLDHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"TXUTHE2U:","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"GFJJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"Z00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"0WKQSJGM","metadata":{}},{"type":"tool-params-delta","id":"toolu_014vZHwSuhyfekWZmnFos3di","delta":"AKCNV3Y\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_014vZHwSuhyfekWZmnFos3di","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":345,"totalTokens":346},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":545},"cache_creation_input_tokens":545,"cache_read_input_tokens":6340,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add tag \"important\" to the organization \"Tagged Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I need to find both the tag \"important\" and the organization \"Tagged Corp\" in the space. Let me search for both.","options":{}},{"type":"text","text":"I'll search for both the \"important\" tag and the \"Tagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","name":"query","params":{"typename":"org.dxos.type.tag","text":"important","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","name":"query","params":{"text":"Tagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01PGV1EmGxFaHGy4k9B9h31X","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV40","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV40","label":"important"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01Y6Xw9VYr7wFrgZVZqKan2j","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV3Y","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV3Y","name":"Tagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found both:\n- Tag \"important\": dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV40\n- Organization \"Tagged Corp\": dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV3Y","options":{}},{"type":"text","text":"I found both the \"important\" tag and the \"Tagged Corp\" organization. Let me add the tag now.","options":{}},{"type":"tool-call","id":"toolu_014vZHwSuhyfekWZmnFos3di","name":"add-tag","params":{"tag":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV40","obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV3Y"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_014vZHwSuhyfekWZmnFos3di","name":"add-tag","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNV3Y","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV40"]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV3Y","name":"Tagged Corp"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01AqcCWnia4ygmA5BEwTYgAz","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:10.873Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! The \"important\" tag has been added to the \"Tagged Corp\" organization.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":21,"totalTokens":22},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":415},"cache_creation_input_tokens":415,"cache_read_input_tokens":6885,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove tag \"obsolete\" from the organization \"Untagged Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Hiwf95FJrP3Us7dgK9fc1z","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:12.946Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I need to find both the \"obsolete\" tag and the \"Untagged Corp\" organization. Let me","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" search for both.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ep8CClkIDRgCKkBDC3z4eB/vwosmyhcqLcRqxGShGkBSfcGQ5M6xvWRQMuqNWRnWGp5r8xsbnKQBmGrtmOmyGFMkaW76+/JEebovMg9jbGF1ZGUtb3B1cy00LTY4ABIMVqFYSqDJUQKg03yRGgxH2Q/mL9QHClzQV+kiMF8cGH1PSDcK2mvlJX1G2y0N5Op9YRFvXuYEGHg1TvskOrSjRl0rhzprQa5lSwm0mip0KVdMTTnVXzuYInuV9NyEjt0NnR7rA3Z/znpC0e5VuiuV0QvxaoIa2M85d8wXj249pCjZF5BB9TMfvfntvx72aQu0pswpbebKofPZ24hNNQ09WUgvUvg0blcjOd09cA97IMeZOzSpd89+t18uoJ9QHWIOzwUYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll search for the \"obsolete\" tag and the \"Untagged Corp\" organization simultaneously.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"{\"ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"pename","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"\": \"org.d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"xos.ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"pe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":".t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"ag\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":", \"text\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"ob","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"solet","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"e\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":", \"includ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"eC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"ontent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":": t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"rue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":", \"limit\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","delta":"5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","metadata":{}},{"type":"tool-params-start","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":"{\"text\": \"U","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":"nta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":"gged Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":", \"in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":"cludeContent","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":"\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":", \"limit","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","delta":"\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":254,"totalTokens":257},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6344},"cache_creation_input_tokens":6344,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":32,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove tag \"obsolete\" from the organization \"Untagged Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I need to find both the \"obsolete\" tag and the \"Untagged Corp\" organization. Let me search for both.","options":{}},{"type":"text","text":"I'll search for the \"obsolete\" tag and the \"Untagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","name":"query","params":{"typename":"org.dxos.type.tag","text":"obsolete","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","name":"query","params":{"text":"Untagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7T","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7T","label":"obsolete"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7R","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7T"]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7R","name":"Untagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0154K2bzEza2GD5kTvTKvdQG","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:18.297Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" both. The tag \"obsolete\" has DXN `d","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"xn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7T` and the organization \"Untagged","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Corp\" has DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKC","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"NV7R`. ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n\nNow","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" I'm removing the tag from the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuMDClkIDRgCKkBrdvft96n9lUoWEC+sDFG5DA5/664P78iTMS8+H0Qs9MCdVPFI008/IjWnYrIJYFRbsvm79UlXcgbvHBqFB/kgMg9jbGF1ZGUtb3B1cy00LTY4ABIMwjFm1fpKvty1kXY+Ggz2Ktz1dS7h4Do0GIoiMJSUb8KpG32535k/JgtnTyMWSIEYS92FjLONeQE+vJIol0LLyOdt7K7vcHbnNan3riq3AlugDgbFdkFb5gzcCqieAylPld3hIH8sJbcxfIe7jdHeVBWqLgtePaPh122dMxLU0gR4HFQ7z3EwWBDc5LAxoEjs3SUmzbBz/HASkteVQ39ADK/cKJP/G5dpEcQqF0oO8zF+sGt2P/pEP+22iF2s8HA4ZOXuIBMeBLb8nRsQDg2zQrH20/LhU9ZczljJ6XVOD562o0im3XPEQ7Jjp1mm0Yncj7kn7Zdn01CG22hgH1jiyaqBt6x5A8g3qo3/jm67tjxEJq7iYu2fqYwYPTYQt8UG7v1u2HssSFBb4k7PGfPIMGUu5VtKxu3YqwbBJDLVjnPt8WkYfF5jblrw+rA8KTBllJTKl5zuXQzCNOzrmHTX/sYCyao9CLAAH3SlISzv8VypkTHldziFG2dRqvgUTMdM6volYsMeGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found","metadata":{}},{"type":"text-delta","id":"1","delta":" both the \"obsolete\" tag and \"Untagged Corp\" organization. I can see the tag is currently applied","metadata":{}},{"type":"text-delta","id":"1","delta":". Let me remove it now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","name":"remove-tag","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"{\"tag\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":" \"dxn","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":":e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"cho:BDJXM","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"ULPW5FB55U","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"Z7KP5HLDHVTX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"UTHE","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"2U:01JGFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"JZ00G0W","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"KQSJGMAK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"CNV7","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"T\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":", \"obj","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"\": \"dxn:echo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":":BDJXMU","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"LPW5FB","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"55UZ7KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"5HLDHVTXU","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"THE2U:01JG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"FJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","delta":"SJGMAKCNV7R\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":389,"totalTokens":390},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":619},"cache_creation_input_tokens":619,"cache_read_input_tokens":6344,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove tag \"obsolete\" from the organization \"Untagged Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I need to find both the \"obsolete\" tag and the \"Untagged Corp\" organization. Let me search for both.","options":{}},{"type":"text","text":"I'll search for the \"obsolete\" tag and the \"Untagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","name":"query","params":{"typename":"org.dxos.type.tag","text":"obsolete","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","name":"query","params":{"text":"Untagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01E9g2TwFndPoKsHYeqVFNi1","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7T","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7T","label":"obsolete"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01EniwoWN8so6oVLLRzg5hdv","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7R","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7T"]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7R","name":"Untagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found both. The tag \"obsolete\" has DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7T` and the organization \"Untagged Corp\" has DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7R`. \n\nNow I'm removing the tag from the organization.","options":{}},{"type":"text","text":"I found both the \"obsolete\" tag and \"Untagged Corp\" organization. I can see the tag is currently applied. Let me remove it now.","options":{}},{"type":"tool-call","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","name":"remove-tag","params":{"tag":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7T","obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7R"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01U2CB3X53T9qAd3AiBEmtc9","name":"remove-tag","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNV7R","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV7R","name":"Untagged Corp"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01MRFK7NrmjKUNpLHq8bmm75","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:23.975Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! The \"obsolete\" tag has been successfully removed from \"Untagged Corp\". The organization now has no tags.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":30,"totalTokens":31},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":374},"cache_creation_input_tokens":374,"cache_read_input_tokens":6963,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add the organization \"Context Corp\" to the chat context.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01W1owtAWYkxNmf7Nj8WWJ4U","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:26.888Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to add an organization called \"Context Corp\" to the chat context. First, I need to find this organization in the space by searching","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" for it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtYCClkIDRgCKkAKTRMNZludjSJ7LfmvwajvwIgTVM+DPipDIMQZQUK491lrb1+S3yNgBOdIFXuvfg5ajbHiw3fRm30N6sWVrQHvMg9jbGF1ZGUtb3B1cy00LTY4ABIMFgYI1dSOl5hE95RsGgzxBuehxd8mjAWGsaUiMOKigxZjSlaaCz+irlCUti/MgPvbJJrons6rVximICPChId5I2KQgy9FYdN//we56CqqAS5tt/1aaew+w479zI5bjNcHiQUneTXQDWO24WZMfbS15x/5YFQsdAwUMT7Z6MwLjSn8mep7F9YQKM/wyDXUxhgw3dlWy+k8UX8sU6CrO3iWioSMuzb5ngcBdiJzZ9LMWmjtUQ3tf0MrNS3sv05vVCfXwdh2YaP9JpNNQCsYhgEPYpOy6QbK/03IvqSbLwy2uyHXrNmP7ZHzjQRsdk/la6JJbCAWYaigKfcnGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me search for \"Context Corp\" in the space first.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_018vcHgyjXEKU26pkhuyRqca","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"xt\": \"Cont","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"ext Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":", \"inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"ludeConte","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"nt\": false","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":", \"lim","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":"it\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_018vcHgyjXEKU26pkhuyRqca","delta":" 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_018vcHgyjXEKU26pkhuyRqca","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":151,"totalTokens":154},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6340},"cache_creation_input_tokens":6340,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":38,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add the organization \"Context Corp\" to the chat context.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to add an organization called \"Context Corp\" to the chat context. First, I need to find this organization in the space by searching for it.","options":{}},{"type":"text","text":"Let me search for \"Context Corp\" in the space first.","options":{}},{"type":"tool-call","id":"toolu_018vcHgyjXEKU26pkhuyRqca","name":"query","params":{"text":"Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_018vcHgyjXEKU26pkhuyRqca","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBC","typename":"org.dxos.type.text"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBD","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBK","typename":"org.dxos.type.organization","label":"Context Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01YXmXHKPLoRg4Lhw7KVRVPf","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:29.471Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" it. The organization \"Context Corp\" has the DXN \"dxn:echo:B","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"DJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBK\". Let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me add it to the chat context.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Et0CClkIDRgCKkCYvuJ9EdzbIljOcmNusTF2ZLyuRz5PPVnJ1sOOD50rfEAl5rZyUPUKKgErdl9MP3n78iKhXvm8TFkBttEfCWjpMg9jbGF1ZGUtb3B1cy00LTY4ABIM5dDKt5ZJDCVZqGRpGgztb98T3G15DQGPFPEiMJsmdmAQkehx4+wnYdQaLg/od/DJwEuFWQuEFctFpyT0IO4y/qkTT/nMuhaiwU6TpiqxAdoC5Q+dq+OgCMj0nZunKZC4abID8w6hpemoQbvAnHXQ1ym+Ifl0VwTXjNY/lFgBkb4FtG1hZ8x3w68ONWuxCMcYDn79qXj4GMWiTCqyXOwctLeNpB8gbQ1qT60zdeJVkEWMC8sUPTfHWzbBF50E/rZdpkD3etkKGZGKbt/n2fbst/k1Jvz2kOO+Y69swO1VDlt4An4psM6uPQRdehb9UtLzbh1aotsDKCFE+Nl6ycwT2RgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Found it! Let me add \"Context Corp\" to the chat context now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","name":"add-to-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"{\"obj","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"\": \"dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"n:echo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":":BDJXMULPW5F","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"B55UZ7KP5H","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"LDHVTXUTHE","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"2U:01JGF","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"JJZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"G0WKQSJGMAKC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","delta":"NVBK\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":223,"totalTokens":224},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":360},"cache_creation_input_tokens":360,"cache_read_input_tokens":6340,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>\n\n## Context Objects\n\n<object>\n <dxn>dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBK</dxn>\n <typename>org.dxos.type.organization</typename>\n</object>","options":{}},{"role":"user","content":"Add the organization \"Context Corp\" to the chat context.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to add an organization called \"Context Corp\" to the chat context. First, I need to find this organization in the space by searching for it.","options":{}},{"type":"text","text":"Let me search for \"Context Corp\" in the space first.","options":{}},{"type":"tool-call","id":"toolu_018vcHgyjXEKU26pkhuyRqca","name":"query","params":{"text":"Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_018vcHgyjXEKU26pkhuyRqca","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBC","typename":"org.dxos.type.text"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBD","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBK","typename":"org.dxos.type.organization","label":"Context Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found it. The organization \"Context Corp\" has the DXN \"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBK\". Let me add it to the chat context.","options":{}},{"type":"text","text":"Found it! Let me add \"Context Corp\" to the chat context now.","options":{}},{"type":"tool-call","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","name":"add-to-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVBK"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01PTqooDpVAUrLQWG6NTPY3n","name":"add-to-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01AFbXkdH9v1wUNhMVWpUmDr","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:32.923Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! The organization **\"Context Corp\"** has been added to the chat context.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":21,"totalTokens":22},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6947},"cache_creation_input_tokens":6947,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>\n\n## Context Objects\n\n<object>\n <dxn>dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVE5</dxn>\n <typename>org.dxos.type.organization</typename>\n</object>","options":{}},{"role":"user","content":"Remove the organization \"Remove Context Corp\" from the chat context.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01NK19Su2pVZDC2DG5A7TrfD","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:36.198Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to remove the organization from the chat context. Looking at the context objects, there's an organization object with D","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"XN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVE5`.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" I'll remove it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ep0DClkIDRgCKkAomiXvgmfKM4mCfQK+mH1AVeSd495rmL+WI1ZBZY7Dse3a9++a+woY3/xTFXHXoyA4/sygOI5GCNNHhc9iZw4OMg9jbGF1ZGUtb3B1cy00LTY4ABIM0CbetWSjgPYvxTEuGgyUBP1IKsiosJv+zIkiMEWkp9DiRyIalX0eUWvNHiE+IK6aI81Y+god5dneJgOkGO7kk5rkSrh4Ynx3AJ1PjCrxAQtIamiedL3rTcxCoc58pkkYK1WaasYXF5iW4PWY43+VxMvvDglFOMi82nwkEe4jmsG7yk/HALvhsb2df98kd4xzNsDebH0mMOmnYL6CJpw3u7su0VTLNObn5LBo8ANGdksleTqbi7xMV+aE/4M68Obn/uuZUthQhOfW+WongW79ibet6q5h1oVvl44IzD97mUKq3NuJpkvFMscas9YEoZnybovu1QLCFZ98nErtBmjD95DWEruVUJOfnPvBwIsR2q6gfVLkrhzspclF7Do3mohiKbyFCpXv2r7GMbT7VwjPXNRrVGf6Gyl+x6JBGWGeYlMYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","name":"remove-from-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"{\"obj","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":" \"dxn:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"echo:BDJXM","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"ULPW5FB5","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"5UZ7KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"DHVT","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"XUTHE","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"2U:01JGF","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"JJZ00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"0WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","delta":"MAKCNVE5\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":214,"totalTokens":217},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6437},"cache_creation_input_tokens":6437,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":33,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove the organization \"Remove Context Corp\" from the chat context.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to remove the organization from the chat context. Looking at the context objects, there's an organization object with DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVE5`. I'll remove it.","options":{}},{"type":"tool-call","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","name":"remove-from-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVE5"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01MNjkPMCHUWzVa3kjXaa8D4","name":"remove-from-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01XK9HZRt6HQTYZw8sbLutVN","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:40.143Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The object","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" was successfully removed from the chat context. Let me confirm this to the user.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EpYCClkIDRgCKkDojCvUSrORbfZcdIMsRTkWw1jZxsV+vFxhwiZsUxjuvoJ/aG3wnI2apBe8oD1TO5AtgV9M4/HsftcS2DagWLqhMg9jbGF1ZGUtb3B1cy00LTY4ABIMBkxmtak59dmdaUDdGgxYURtaj4qnggLWgwAiMBX/OnSwftQuK+xWuezPt4x2q1J/rXUU/7CEt0xAskJM+QS7akkhOTrEbs6gztWUEiprvie1R9Bi1pnTDQISdK3HDIZ223S9se0vS90L4js3sYHXPd5ks7a1APo0tL4PI1p3u7cY6bZgrLNq2+p1rBo91ORELzHtQ9dVC3aIjupE4mSZL1gD/Yi8XKnLuJPhO4nA3Sv6MLbUxSy9TP8YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Done! I've removed \"Remove Context Corp\" from the chat context.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":51,"totalTokens":52},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6476},"cache_creation_input_tokens":6476,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"A mock email was stored only on a feed (queue), not as a regular space document: organization \"Lot Booking Co\"\nmentioning a parking reservation.\n\nUse the Query tool once: full-text \"reservation\", includeQueues true, includeContent false, limit 20.\nConfirm the results include Lot Booking Co.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_018wuXwynQUMTo46fC92QMgb","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:16:42.430Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to search for an email in queues using full","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"-text search for \"reservation\" with includeQueues set to true.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErcCClkIDRgCKkBOfGPyIMH/cS9N1yJWLepvfEHSAIxIDp3AMm1OSJo6mYGcWDqi4YAQaX6ODMeUH4FjJx2e62BH8YWTu5D74S+5Mg9jbGF1ZGUtb3B1cy00LTY4ABIMZZ6BKtbh3NtRYa0lGgy2A8y5K22n4eMeZC0iMFvDGiN80FhNAMzGsEzm9GGXhJJ9nWt41rm9ZQiB4weJpJ2ck6eid+6+/cxCFGWJsSqLAbJCQRRTJt9g3v5Gf/hSH6epEWJHoyWZNHyFKHeO5BCm2cl1h7Pa1COGTH1A7+WMG3ZNikX75RGHcg8lIBngBBFRzYydgFgvDjfYgWPWJ+5t5r8+IUwSjFDwIxBxX6BPg0JA1oJZyGcbFa3yHa09AZD5RLmBQUjisNFvsvxbl+PMgAWY2MusMIXn7ZMYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll run the","metadata":{}},{"type":"text-delta","id":"1","delta":" query now with the parameters you specified.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"{\"t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"ext\": \"reser","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"va","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"ti","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"on\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":", \"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"deQueues\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":" true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":", \"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"deContent\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","delta":"\"limit\": 20}","metadata":{}},{"type":"tool-params-end","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":166,"totalTokens":169},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6402},"cache_creation_input_tokens":6402,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":22,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"A mock email was stored only on a feed (queue), not as a regular space document: organization \"Lot Booking Co\"\nmentioning a parking reservation.\n\nUse the Query tool once: full-text \"reservation\", includeQueues true, includeContent false, limit 20.\nConfirm the results include Lot Booking Co.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to search for an email in queues using full-text search for \"reservation\" with includeQueues set to true.","options":{}},{"type":"text","text":"I'll run the query now with the parameters you specified.","options":{}},{"type":"tool-call","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","name":"query","params":{"text":"reservation","includeQueues":true,"includeContent":false,"limit":20},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01BGgC6YGdd4zF59LKkRpWPH","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVFN:01JGFJJZ00G0WKQSJGMAKCNVFQ","typename":"org.dxos.type.organization","label":"Lot Booking Co"},{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVFY:01JGFJJZ00G0WKQSJGMAKCNVG2","typename":"org.dxos.type.message"},{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVFY:01JGFJJZ00G0WKQSJGMAKCNVG4","typename":"org.dxos.type.message"},{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVFY:01JGFJJZ00G0WKQSJGMAKCNVGE","typename":"org.dxos.type.message"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01SyifAgfbQiuHLZTURzfqBw","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:20:09.207Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" results include \"Lot Booking Co\" as an organization in a queue.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ev4BClkIDRgCKkAHc1noqCn7Ll4lk0phMAwrooJ/it0ZwrmEPVC1iED+k/O6X01anJi8KM9wsE+Oe+cQOSxft3VGHBERoMNexscFMg9jbGF1ZGUtb3B1cy00LTY4ABIMg4+4iQJpWwf16PnaGgx+g7gJV5cZURfebcwiMIH8Xv+mMoCTYxqAyMacj3EOW1nhUjKhfHwQiI+oaoFd4QHSxN1BdwMMqL7ew8Zj4SpTUIMI0iUPIPHcaIrRGC/sxXTvZquvcrymdRsGH69Ut8KZOB4aGUIEwoiUP33GiX9asjm9t5HTdonyHKAyNKJteExk9YOC/0z+lb3764L2zqAcw2IYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"✅ **Confirmed — \"Lot Booking Co\" is in the results.**\n\nHere's a","metadata":{}},{"type":"text-delta","id":"1","delta":" summary of what came back (4 items, all living on a queue","metadata":{}},{"type":"text-delta","id":"1","delta":", not in regular space):\n\n| # | Type | Label | Location","metadata":{}},{"type":"text-delta","id":"1","delta":" |\n|---|------|-------|----------|\n| 1 | `org.dxos.type.organization` | **Lot Booking Co** | queue |\n| 2 | `org.dxos.type.","metadata":{}},{"type":"text-delta","id":"1","delta":"message` | *(unlabeled)* | queue |\n| 3 | `org.dxos.type.message` | *(unlabeled)* | queue |\n| 4 ","metadata":{}},{"type":"text-delta","id":"1","delta":"| `org.dxos.type.message` | *(unlabeled)* | queue |\n\nThe first result is the organization object labeled **","metadata":{}},{"type":"text-delta","id":"1","delta":"\"Lot Booking Co\"**, and the three message objects are likely the associated","metadata":{}},{"type":"text-delta","id":"1","delta":" email/conversation threads mentioning the parking reservation. All","metadata":{}},{"type":"text-delta","id":"1","delta":" of them reside exclusively on a feed (queue),","metadata":{}},{"type":"text-delta","id":"1","delta":" confirming they are **not** stored as regular space documents.\n\nWould you like me to load any","metadata":{}},{"type":"text-delta","id":"1","delta":" of these objects to inspect their full content?","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":289,"totalTokens":290},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":6951,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Query for organizations in \"inbox-1\" feed.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_016rH3smBbAE6ZwnSKvvtYYm","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:20:17.807Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to query for organizations within a specific feed called \"inbox-1\". I need to first find","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the feed object to get its DXN, then query for organizations within it. Let me first","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" search for the feed and also check what schema typename is used for organizations.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EssDClkIDRgCKkAJX9CjIA9YB0fNUrjpRQv5iMUBHy1aFDo1FwHaXw3kw6zcsmXJMTLiAQuhkEt7h1cVMZwYBqzOf/rSZgesUY91Mg9jbGF1ZGUtb3B1cy00LTY4ABIMzc+WR5YKC8EsMRqbGgxMBIoOUJnk4/dxz4MiMCXHar/5kjulC3rBC/Zi7BF+enFbRpmlVRX6Npf/PEPl1QGQJOAKMiYhEu4SpIMNJyqfAiCuqT2Ww4dcHSGQT0elQMyABiv+c/Y97iMJkJfPwbVjZUHd9cVqbh/jfdhJwNeIISt5wYmZZcfyYjbpgPw5Zi0NvDHBRwJwTs5JiYdYk5QzdBhGkoDU7QaBasKE9d8wEEk2i8BrzxJPHYKwqpMfXfQea71rirpKHoNqb3NqDBzEU4uKgt4QNY7eZ9/w34E81sKh4kiehzaHUiQV1jf0Ue4IFI+Xyq0b1eTLHhnuTIDQ+cWeiIkEb8ZHquDQQqqErDjcN/pTd105zswoHJg91+3i6oGo3QTRudDdS6jHHfSAeJyrMbSV7OjtTTcdldc0MU+Ea/YY5xC5pDSkiCdY5BIh17/FYK2b0ScZSsqRVet5uBN89NNB6C/sypPa5eeeGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first find the \"inbox-1\" feed and the organization schema so I can query properly.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":"{\"text\": \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":"nbox-1\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":", \"includ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":"eContent\": f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":"alse","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":", \"li","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":"mit\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","delta":"5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","metadata":{}},{"type":"tool-params-start","id":"toolu_01G2eZUZ11Z1RoVsJt6KsCN4","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01G2eZUZ11Z1RoVsJt6KsCN4","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01G2eZUZ11Z1RoVsJt6KsCN4","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":203,"totalTokens":206},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6339},"cache_creation_input_tokens":6339,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":30,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Query for organizations in \"inbox-1\" feed.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to query for organizations within a specific feed called \"inbox-1\". I need to first find the feed object to get its DXN, then query for organizations within it. Let me first search for the feed and also check what schema typename is used for organizations.","options":{}},{"type":"text","text":"Let me first find the \"inbox-1\" feed and the organization schema so I can query properly.","options":{}},{"type":"tool-call","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","name":"query","params":{"text":"inbox-1","includeContent":false,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01G2eZUZ11Z1RoVsJt6KsCN4","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVJ4","typename":"org.dxos.type.feed","label":"inbox-1"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01G2eZUZ11Z1RoVsJt6KsCN4","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01NUMtNg6F6niSxCNR1PRNnK","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:20:21.533Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" found the \"inbox-1\" feed with D","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"XN `dxn:echo:BDJXMUL","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"PW5FB55UZ7","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"KP5HLDHVTXU","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"THE2U:01JGFJJ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Z00G0WKQSJ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"GMAKCNVJ4`","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" and the organization typename is `org.dxos.type.organization`. Now let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me query for organizations within that feed.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EpsDClkIDRgCKkCXggrUiRhfWhFVOd87lyIEPGJFeSSyMMguA7fkUJlmMvC4tRhX4oY7BuOe2j/aa0f6jGeOrEIP9qLKl5Bmm2H7Mg9jbGF1ZGUtb3B1cy00LTY4ABIMnyjfkwO6enRxBKq0Ggykbuk2PcWdh7pr0mkiMJNIYZucjWRrHl6T2g4H9zv/R308UoObyQ8gGXZYbdG6VrLsdsVoMJCk7PrG1SjLNirvAc6SBKKRo2k29ZP1e3BsiGDBQ8cMuSWzyX8SB4/+pu7SDPne7rxPh9uBXotVT5Vvc87tPvvfBr9hBGA/PeXSAO2M3vhgKz5zpyI0OZCR16Y8A6/9/hOrPlqC3+LW3nFKQVs2sMF/mtNhN41pJs/Vu5lYmxb3WPvH47h4D9iIpsx8dbo7okoagjo+g6EmGKVvqO/eWk5sV/Qyc74Nysi7FtU5sMh2HA1/W8nJz/fQScTTKfmevjmvjkCAReOUOPklmA/FtWUY/Gi0RZP4AOBordPzksUXqdEycULnolzgPlt6yBXJIZ1Fg7erWiw7Bez7GAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the \"inbox-1\" feed. Now let me query for organizations within it.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"{\"ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"pen","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"ame\": \"or","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"g.dxos","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":".typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"e.o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"rgan","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"izat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"ion\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"\"in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"[{\"/\":\"dxn","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":":echo:BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"MULPW5FB5","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"5UZ7KP5HLDHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"TXUTHE2U:0","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"1JGFJJZ00G0","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"MAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"VJ4\"}]","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":", \"includeC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"ontent\": tru","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":"e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":", \"limit\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","delta":": 10}","metadata":{}},{"type":"tool-params-end","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":306,"totalTokens":307},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4260},"cache_creation_input_tokens":4260,"cache_read_input_tokens":6339,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Query for organizations in \"inbox-1\" feed.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to query for organizations within a specific feed called \"inbox-1\". I need to first find the feed object to get its DXN, then query for organizations within it. Let me first search for the feed and also check what schema typename is used for organizations.","options":{}},{"type":"text","text":"Let me first find the \"inbox-1\" feed and the organization schema so I can query properly.","options":{}},{"type":"tool-call","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","name":"query","params":{"text":"inbox-1","includeContent":false,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01G2eZUZ11Z1RoVsJt6KsCN4","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01A1eJK8VeQYdKcKTgZs7G9q","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVJ4","typename":"org.dxos.type.feed","label":"inbox-1"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01G2eZUZ11Z1RoVsJt6KsCN4","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.2.0","type":"object","properties":{"id":{"type":"string"},"name":{"$ref":"#/$defs/NonEmptyString"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found the \"inbox-1\" feed with DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVJ4` and the organization typename is `org.dxos.type.organization`. Now let me query for organizations within that feed.","options":{}},{"type":"text","text":"I found the \"inbox-1\" feed. Now let me query for organizations within it.","options":{}},{"type":"tool-call","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","name":"query","params":{"typename":"org.dxos.type.organization","in":[{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVJ4"}],"includeContent":true,"limit":10},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Dtuc6LxrddxdtkwKeoXntJ","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Axa6gPuzMew1dpc9oWiEoH","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:20:29.495Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" query returned no results. There are no organizations in the \"inbox-1\" feed.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EosCClkIDRgCKkAiDk41iiZfDByGzXOYkSdtNM9uJDDeYT85KQN0CJrOWVVFZsc9KmynzvfA4IbyaqTV+yGE24S+7MFzJAWlKD3CMg9jbGF1ZGUtb3B1cy00LTY4ABIMzKUUxch14IvLhs0CGgxL4tALi+Bga9ffXOEiMLtHUd9KBJYVu/bPso+M4ERUbW6OhkCtxXdp1d0Bu1BF96/+tAg9asJT3qkjEsCmDipgVb2wslv3AHI/Ivb/DM2AybERHZpsZ5QKUsWRtRfLQpu9ulETt4yrLWXLHN0zquplg+JmUTJLFTXtP/x1LgV/A09nQlKCb8XdHQZm1arLFz5gSP/LoLJYxNIMPoGadEl5GAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"The query returned **no results**. There are no organizations of type `org.dxos.type.organization` within","metadata":{}},{"type":"text-delta","id":"1","delta":" the **inbox-1** feed.\n\nThis could mean:\n- No organization objects have","metadata":{}},{"type":"text-delta","id":"1","delta":" been added to that feed yet.\n- Organizations might be stored elsewhere in","metadata":{}},{"type":"text-delta","id":"1","delta":" the space outside of that feed.\n\nWould you like me to search for organizations across the entire space, or look","metadata":{}},{"type":"text-delta","id":"1","delta":" for other types of objects within the inbox-1 feed?","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":133,"totalTokens":134},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":220},"cache_creation_input_tokens":220,"cache_read_input_tokens":10599,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Call query tool with precisely {\"includeContent\":false,\"limit\":10,\"typename\":\"org.dxos.type.organization\",\"in\":[\"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVP0\"]}","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01U4PSacLro1yZkGfmusy5XC","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:20:34.507Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to call the query tool with specific parameters. Let me make sure I pass them exactly as specified.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErECClkIDRgCKkAnIL4h8l0RzX4t720I76UGFNu2HNYXTxcbVqjIyvVhKoxKU33iPrUzLrPW5Iy+WJQOTz87fxw6T/EbQO2szcRmMg9jbGF1ZGUtb3B1cy00LTY4ABIM6tmV3WKDeCdhma/hGgzu1b8YaxGWO8QtSNkiMOV/kjHeJoVKBKeorrHQ3yw82ECgw+0i7K8oD2DhB8nvcDg3cmGbh3WZirVg+8itPSqFAdfsUqyKNFgbtBipk4BodsQEkjjVEFS5jCb+Ufs9lLGwEiIxSHZfuHMGiGvQGIe2Jt+Zoea/w9hpUQN76T4nt/F9onJx1XeqDJZMOr3xAxgHlNQ1TP8123GEoBrUL/ycCVIlUoNjT63kpIA2DXkcmqZlNdiGd8vRFnFgokQaSbYWA3sAVu8YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"{\"incl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"udeContent","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"\": false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":", \"limi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"t\": 10","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":", \"typen","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"ame\": \"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"rg.dxos.type","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":".organiza","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"tion\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":", \"in\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"[{\"/\":\"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"xn:ec","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"ho:B","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"DJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"MUL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"PW5FB55UZ7KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"5HLDHVTX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"UTHE2U:01JG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"FJJZ00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"SJGMAKCNVP0\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","delta":"}]}","metadata":{}},{"type":"tool-params-end","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":214,"totalTokens":217},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6417},"cache_creation_input_tokens":6417,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":32,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Call query tool with precisely {\"includeContent\":false,\"limit\":10,\"typename\":\"org.dxos.type.organization\",\"in\":[\"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVP0\"]}","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to call the query tool with specific parameters. Let me make sure I pass them exactly as specified.","options":{}},{"type":"tool-call","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","name":"query","params":{"includeContent":false,"limit":10,"typename":"org.dxos.type.organization","in":[{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVP0"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01U2T2Hr7cLdcwyS6NiAyFUf","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_015uFUMZFvAkhQp2ecoZzCjV","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:20:38.038Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The query returned **","metadata":{}},{"type":"text-delta","id":"0","delta":"no results**. There are no objects of type `org.dxos.type.organization` found within the specified scope","metadata":{}},{"type":"text-delta","id":"0","delta":" (`dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVP0","metadata":{}},{"type":"text-delta","id":"0","delta":"`).\n\nWould you like me to:\n- **Broaden the search** (e.g., remove the `","metadata":{}},{"type":"text-delta","id":"0","delta":"in` scope or the typename filter)?\n- **Search for a different type** within that","metadata":{}},{"type":"text-delta","id":"0","delta":" container?\n- **Try a full-text search** instead?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":149,"totalTokens":150},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":203},"cache_creation_input_tokens":203,"cache_read_input_tokens":6417,"input_tokens":1,"output_tokens":4,"server_tool_use":null,"service_tier":"standard"}}}}]}]}