@dxos/assistant-toolkit 0.9.1-main.c7dcc2e112 → 0.9.1-staging.ee54ba693a

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 (687) hide show
  1. package/dist/lib/neutral/{add-artifact-QEQP6T7Z.mjs → add-artifact-5JNUYLCA.mjs} +6 -6
  2. package/dist/lib/neutral/{add-artifact-QEQP6T7Z.mjs.map → add-artifact-5JNUYLCA.mjs.map} +1 -1
  3. package/dist/lib/neutral/{agent-BU6PB7J6.mjs → agent-BFAYIBJI.mjs} +8 -8
  4. package/dist/lib/neutral/agent-BFAYIBJI.mjs.map +7 -0
  5. package/dist/lib/neutral/{agent-rules-L3AHRSR4.mjs → agent-rules-KWCBKJ5W.mjs} +14 -14
  6. package/dist/lib/neutral/agent-rules-KWCBKJ5W.mjs.map +7 -0
  7. package/dist/lib/neutral/{chunk-ABOAU3NN.mjs → chunk-3KA66YBF.mjs} +30 -44
  8. package/dist/lib/neutral/chunk-3KA66YBF.mjs.map +7 -0
  9. package/dist/lib/neutral/{chunk-ZQDWSV26.mjs → chunk-6SGNFL6I.mjs} +3 -3
  10. package/dist/lib/neutral/{chunk-ZQDWSV26.mjs.map → chunk-6SGNFL6I.mjs.map} +4 -4
  11. package/dist/lib/neutral/{chunk-CUT6GB2W.mjs → chunk-BDTGFPM7.mjs} +9 -11
  12. package/dist/lib/neutral/chunk-BDTGFPM7.mjs.map +7 -0
  13. package/dist/lib/neutral/{chunk-SYUTQPSB.mjs → chunk-EPQCDGIV.mjs} +5 -4
  14. package/dist/lib/neutral/chunk-EPQCDGIV.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-H4W22FFJ.mjs +232 -0
  16. package/dist/lib/neutral/chunk-H4W22FFJ.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-JBTXZQ5G.mjs +60 -0
  18. package/dist/lib/neutral/chunk-JBTXZQ5G.mjs.map +7 -0
  19. package/dist/lib/neutral/{chunk-ZA5WZL4H.mjs → chunk-JKOOA5OS.mjs} +8 -8
  20. package/dist/lib/neutral/chunk-JKOOA5OS.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-JTEBE7KA.mjs +66 -0
  22. package/dist/lib/neutral/chunk-JTEBE7KA.mjs.map +7 -0
  23. package/dist/lib/neutral/{chunk-FQNZX2SH.mjs → chunk-KLFXJ2Z3.mjs} +2 -2
  24. package/dist/lib/neutral/{chunk-FQNZX2SH.mjs.map → chunk-KLFXJ2Z3.mjs.map} +1 -1
  25. package/dist/lib/neutral/{chunk-DLVIJSH6.mjs → chunk-LBA5UOLF.mjs} +3 -3
  26. package/dist/lib/neutral/{chunk-DLVIJSH6.mjs.map → chunk-LBA5UOLF.mjs.map} +1 -1
  27. package/dist/lib/neutral/{chunk-24L572PJ.mjs → chunk-LL3MOQUZ.mjs} +2 -2
  28. package/dist/lib/neutral/{chunk-24L572PJ.mjs.map → chunk-LL3MOQUZ.mjs.map} +1 -1
  29. package/dist/lib/neutral/{chunk-OK3P6URP.mjs → chunk-MFVIGJBW.mjs} +16 -16
  30. package/dist/lib/neutral/chunk-MFVIGJBW.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-KZDQGI3S.mjs → chunk-PBARVBNJ.mjs} +9 -10
  32. package/dist/lib/neutral/chunk-PBARVBNJ.mjs.map +7 -0
  33. package/dist/lib/neutral/{chunk-WTUY5UCA.mjs → chunk-VJ5QBYM5.mjs} +20 -21
  34. package/dist/lib/neutral/chunk-VJ5QBYM5.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-4LFE5PQ3.mjs → chunk-YQSQRSXG.mjs} +5 -5
  36. package/dist/lib/neutral/chunk-YQSQRSXG.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-Z2HFOZXK.mjs +191 -0
  38. package/dist/lib/neutral/chunk-Z2HFOZXK.mjs.map +7 -0
  39. package/dist/lib/neutral/{context-add-KWEKPGMI.mjs → context-add-DZTPB3FK.mjs} +7 -7
  40. package/dist/lib/neutral/context-add-DZTPB3FK.mjs.map +7 -0
  41. package/dist/lib/neutral/{context-remove-HIQFSVHW.mjs → context-remove-XSBOM4VJ.mjs} +7 -7
  42. package/dist/lib/neutral/context-remove-XSBOM4VJ.mjs.map +7 -0
  43. package/dist/lib/neutral/create-agent-5WTOFIEK.mjs +35 -0
  44. package/dist/lib/neutral/create-agent-5WTOFIEK.mjs.map +7 -0
  45. package/dist/lib/neutral/definitions-VRR5OGXI.mjs +17 -0
  46. package/dist/lib/neutral/delegate-task-UX64NK4M.mjs +13 -0
  47. package/dist/lib/neutral/{delete-QHGM7N23.mjs → delete-IU7HPU3K.mjs} +4 -4
  48. package/dist/lib/neutral/{delete-QHGM7N23.mjs.map → delete-IU7HPU3K.mjs.map} +1 -1
  49. package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs +47 -0
  50. package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs.map +7 -0
  51. package/dist/lib/neutral/{fetch-O6G46HJH.mjs → fetch-5LY25EBR.mjs} +3 -3
  52. package/dist/lib/neutral/{fetch-O6G46HJH.mjs.map → fetch-5LY25EBR.mjs.map} +3 -3
  53. package/dist/lib/neutral/{fetch-messages-4EVGVEQK.mjs → fetch-messages-CQMDI36G.mjs} +5 -5
  54. package/dist/lib/neutral/{fetch-messages-4EVGVEQK.mjs.map → fetch-messages-CQMDI36G.mjs.map} +4 -4
  55. package/dist/lib/neutral/get-context-Q4YY6DRV.mjs +77 -0
  56. package/dist/lib/neutral/get-context-Q4YY6DRV.mjs.map +7 -0
  57. package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs +17 -0
  58. package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs.map +7 -0
  59. package/dist/lib/neutral/index.mjs +403 -638
  60. package/dist/lib/neutral/index.mjs.map +4 -4
  61. package/dist/lib/neutral/{load-C4OPO7RD.mjs → load-S6HC5TGX.mjs} +3 -3
  62. package/dist/lib/neutral/{load-C4OPO7RD.mjs.map → load-S6HC5TGX.mjs.map} +1 -1
  63. package/dist/lib/neutral/meta.json +1 -1
  64. package/dist/lib/neutral/{object-create-F7R7IRW5.mjs → object-create-PVDQ62CG.mjs} +4 -4
  65. package/dist/lib/neutral/{object-create-F7R7IRW5.mjs.map → object-create-PVDQ62CG.mjs.map} +1 -1
  66. package/dist/lib/neutral/{object-delete-3TJ3XMLN.mjs → object-delete-3CSL6XI6.mjs} +3 -3
  67. package/dist/lib/neutral/{object-delete-3TJ3XMLN.mjs.map → object-delete-3CSL6XI6.mjs.map} +1 -1
  68. package/dist/lib/neutral/{object-update-EBRM5AKN.mjs → object-update-NIGMZINM.mjs} +3 -3
  69. package/dist/lib/neutral/{object-update-EBRM5AKN.mjs.map → object-update-NIGMZINM.mjs.map} +1 -1
  70. package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs +88 -0
  71. package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs.map +7 -0
  72. package/dist/lib/neutral/{qualifier-DHPHY3YH.mjs → qualifier-5CIRZYX5.mjs} +13 -11
  73. package/dist/lib/neutral/qualifier-5CIRZYX5.mjs.map +7 -0
  74. package/dist/lib/neutral/{query-6XCQIIZC.mjs → query-K4R7UHLU.mjs} +4 -4
  75. package/dist/lib/neutral/{query-6XCQIIZC.mjs.map → query-K4R7UHLU.mjs.map} +1 -1
  76. package/dist/lib/neutral/{query-QGSHZMCD.mjs → query-NCTCRYTD.mjs} +4 -4
  77. package/dist/lib/neutral/{query-QGSHZMCD.mjs.map → query-NCTCRYTD.mjs.map} +4 -4
  78. package/dist/lib/neutral/query-skills-7GQFSU4V.mjs +17 -0
  79. package/dist/lib/neutral/query-skills-7GQFSU4V.mjs.map +7 -0
  80. package/dist/lib/neutral/{relation-create-WA2DM76W.mjs → relation-create-QKXHTL7G.mjs} +10 -7
  81. package/dist/lib/neutral/relation-create-QKXHTL7G.mjs.map +7 -0
  82. package/dist/lib/neutral/{relation-delete-66XP7KL7.mjs → relation-delete-PDIWT2JX.mjs} +3 -3
  83. package/dist/lib/neutral/{relation-delete-66XP7KL7.mjs.map → relation-delete-PDIWT2JX.mjs.map} +1 -1
  84. package/dist/lib/neutral/{prompt-37GJGKNM.mjs → run-instructions-72ASH5EZ.mjs} +38 -40
  85. package/dist/lib/neutral/run-instructions-72ASH5EZ.mjs.map +7 -0
  86. package/dist/lib/neutral/{save-HQY35ACW.mjs → save-UYVRA4RS.mjs} +4 -4
  87. package/dist/lib/neutral/{save-HQY35ACW.mjs.map → save-UYVRA4RS.mjs.map} +1 -1
  88. package/dist/lib/neutral/{schema-add-2AWYVGOC.mjs → schema-add-5NOK2RWE.mjs} +3 -3
  89. package/dist/lib/neutral/{schema-add-2AWYVGOC.mjs.map → schema-add-5NOK2RWE.mjs.map} +1 -1
  90. package/dist/lib/neutral/{schema-list-74CQW2N3.mjs → schema-list-BZUR5KMX.mjs} +6 -6
  91. package/dist/lib/neutral/schema-list-BZUR5KMX.mjs.map +7 -0
  92. package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs +65 -0
  93. package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs.map +7 -0
  94. package/dist/lib/neutral/{sync-issues-VUX4OWPO.mjs → sync-issues-O76MCMD3.mjs} +5 -5
  95. package/dist/lib/neutral/{sync-issues-VUX4OWPO.mjs.map → sync-issues-O76MCMD3.mjs.map} +1 -1
  96. package/dist/lib/neutral/{sync-triggers-CI6ECSZX.mjs → sync-triggers-YBTLPCUB.mjs} +11 -11
  97. package/dist/lib/neutral/{sync-triggers-CI6ECSZX.mjs.map → sync-triggers-YBTLPCUB.mjs.map} +4 -4
  98. package/dist/lib/neutral/{tag-add-6EGIY2CC.mjs → tag-add-L5WNOBYY.mjs} +3 -3
  99. package/dist/lib/neutral/{tag-add-6EGIY2CC.mjs.map → tag-add-L5WNOBYY.mjs.map} +1 -1
  100. package/dist/lib/neutral/{tag-remove-XVTYJRI7.mjs → tag-remove-WV5RPE5W.mjs} +3 -3
  101. package/dist/lib/neutral/{tag-remove-XVTYJRI7.mjs.map → tag-remove-WV5RPE5W.mjs.map} +1 -1
  102. package/dist/lib/neutral/testing/index.mjs +10 -8
  103. package/dist/lib/neutral/testing/index.mjs.map +4 -4
  104. package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs +46 -0
  105. package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs.map +7 -0
  106. package/dist/types/src/errors.d.ts +36 -0
  107. package/dist/types/src/errors.d.ts.map +1 -1
  108. package/dist/types/src/index.d.ts +2 -4
  109. package/dist/types/src/index.d.ts.map +1 -1
  110. package/dist/types/src/operations/definitions.d.ts +13 -0
  111. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  112. package/dist/types/src/operations/index.d.ts.map +1 -0
  113. package/dist/types/src/{functions/agent/prompt.d.ts → operations/run-instructions.d.ts} +1 -1
  114. package/dist/types/src/operations/run-instructions.d.ts.map +1 -0
  115. package/dist/types/src/operations/run-instructions.test.d.ts +2 -0
  116. package/dist/types/src/operations/run-instructions.test.d.ts.map +1 -0
  117. package/dist/types/src/operations/skill-resolution.test.d.ts +2 -0
  118. package/dist/types/src/operations/skill-resolution.test.d.ts.map +1 -0
  119. package/dist/types/src/skills/agent/index.d.ts +3 -0
  120. package/dist/types/src/skills/agent/index.d.ts.map +1 -0
  121. package/dist/types/src/skills/agent/operations/add-artifact.d.ts.map +1 -0
  122. package/dist/types/src/skills/agent/operations/agent.d.ts.map +1 -0
  123. package/dist/types/src/skills/agent/operations/definitions.d.ts +76 -0
  124. package/dist/types/src/skills/agent/operations/definitions.d.ts.map +1 -0
  125. package/dist/types/src/skills/agent/operations/get-context.d.ts.map +1 -0
  126. package/dist/types/src/skills/agent/operations/index.d.ts +4 -0
  127. package/dist/types/src/skills/agent/operations/index.d.ts.map +1 -0
  128. package/dist/types/src/skills/agent/operations/qualifier.d.ts.map +1 -0
  129. package/dist/types/src/skills/agent/skill.d.ts +4 -0
  130. package/dist/types/src/skills/agent/skill.d.ts.map +1 -0
  131. package/dist/types/src/skills/agent/skill.test.d.ts +2 -0
  132. package/dist/types/src/skills/agent/skill.test.d.ts.map +1 -0
  133. package/dist/types/src/skills/agent-wizard/index.d.ts +3 -0
  134. package/dist/types/src/skills/agent-wizard/index.d.ts.map +1 -0
  135. package/dist/types/src/skills/agent-wizard/operations/agent-rules.d.ts.map +1 -0
  136. package/dist/types/src/skills/agent-wizard/operations/create-agent.d.ts +11 -0
  137. package/dist/types/src/skills/agent-wizard/operations/create-agent.d.ts.map +1 -0
  138. package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts +14 -0
  139. package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts.map +1 -0
  140. package/dist/types/src/skills/agent-wizard/operations/index.d.ts.map +1 -0
  141. package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts +8 -0
  142. package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts.map +1 -0
  143. package/dist/types/src/skills/agent-wizard/skill.d.ts +4 -0
  144. package/dist/types/src/skills/agent-wizard/skill.d.ts.map +1 -0
  145. package/dist/types/src/skills/alarm/index.d.ts +3 -0
  146. package/dist/types/src/skills/alarm/index.d.ts.map +1 -0
  147. package/dist/types/src/skills/alarm/operations/definitions.d.ts +9 -0
  148. package/dist/types/src/skills/alarm/operations/definitions.d.ts.map +1 -0
  149. package/dist/types/src/skills/alarm/operations/get-current-date.d.ts +8 -0
  150. package/dist/types/src/skills/alarm/operations/get-current-date.d.ts.map +1 -0
  151. package/dist/types/src/skills/alarm/operations/index.d.ts +4 -0
  152. package/dist/types/src/skills/alarm/operations/index.d.ts.map +1 -0
  153. package/dist/types/src/skills/alarm/operations/resolve-wake-at.d.ts +14 -0
  154. package/dist/types/src/skills/alarm/operations/resolve-wake-at.d.ts.map +1 -0
  155. package/dist/types/src/skills/alarm/operations/set-alarm.d.ts +13 -0
  156. package/dist/types/src/skills/alarm/operations/set-alarm.d.ts.map +1 -0
  157. package/dist/types/src/skills/alarm/skill.d.ts +4 -0
  158. package/dist/types/src/skills/alarm/skill.d.ts.map +1 -0
  159. package/dist/types/src/skills/alarm/skill.test.d.ts +2 -0
  160. package/dist/types/src/skills/alarm/skill.test.d.ts.map +1 -0
  161. package/dist/types/src/skills/automation/index.d.ts +2 -0
  162. package/dist/types/src/skills/automation/index.d.ts.map +1 -0
  163. package/dist/types/src/skills/automation/skill.d.ts +4 -0
  164. package/dist/types/src/skills/automation/skill.d.ts.map +1 -0
  165. package/dist/types/src/skills/browser/index.d.ts +2 -0
  166. package/dist/types/src/skills/browser/index.d.ts.map +1 -0
  167. package/dist/types/src/skills/browser/skill.d.ts +4 -0
  168. package/dist/types/src/skills/browser/skill.d.ts.map +1 -0
  169. package/dist/types/src/skills/browser/skill.test.d.ts +2 -0
  170. package/dist/types/src/skills/browser/skill.test.d.ts.map +1 -0
  171. package/dist/types/src/skills/connectors/index.d.ts +2 -0
  172. package/dist/types/src/skills/connectors/index.d.ts.map +1 -0
  173. package/dist/types/src/skills/connectors/skill.d.ts +4 -0
  174. package/dist/types/src/skills/connectors/skill.d.ts.map +1 -0
  175. package/dist/types/src/skills/database/index.d.ts +3 -0
  176. package/dist/types/src/skills/database/index.d.ts.map +1 -0
  177. package/dist/types/src/{blueprints → skills}/database/operations/context-add.d.ts +2 -2
  178. package/dist/types/src/skills/database/operations/context-add.d.ts.map +1 -0
  179. package/dist/types/src/{blueprints → skills}/database/operations/context-remove.d.ts +2 -2
  180. package/dist/types/src/skills/database/operations/context-remove.d.ts.map +1 -0
  181. package/dist/types/src/{blueprints → skills}/database/operations/definitions.d.ts +6 -12
  182. package/dist/types/src/skills/database/operations/definitions.d.ts.map +1 -0
  183. package/dist/types/src/skills/database/operations/index.d.ts.map +1 -0
  184. package/dist/types/src/skills/database/operations/load.d.ts.map +1 -0
  185. package/dist/types/src/skills/database/operations/object-create.d.ts.map +1 -0
  186. package/dist/types/src/skills/database/operations/object-delete.d.ts.map +1 -0
  187. package/dist/types/src/skills/database/operations/object-update.d.ts.map +1 -0
  188. package/dist/types/src/skills/database/operations/query.d.ts.map +1 -0
  189. package/dist/types/src/skills/database/operations/relation-create.d.ts.map +1 -0
  190. package/dist/types/src/skills/database/operations/relation-delete.d.ts.map +1 -0
  191. package/dist/types/src/skills/database/operations/schema-add.d.ts.map +1 -0
  192. package/dist/types/src/skills/database/operations/schema-list.d.ts.map +1 -0
  193. package/dist/types/src/{blueprints → skills}/database/operations/tag-add.d.ts +1 -4
  194. package/dist/types/src/skills/database/operations/tag-add.d.ts.map +1 -0
  195. package/dist/types/src/{blueprints → skills}/database/operations/tag-remove.d.ts +1 -4
  196. package/dist/types/src/skills/database/operations/tag-remove.d.ts.map +1 -0
  197. package/dist/types/src/skills/database/skill.d.ts +4 -0
  198. package/dist/types/src/skills/database/skill.d.ts.map +1 -0
  199. package/dist/types/src/skills/database/skill.test.d.ts +2 -0
  200. package/dist/types/src/skills/database/skill.test.d.ts.map +1 -0
  201. package/dist/types/src/skills/delegation/index.d.ts +3 -0
  202. package/dist/types/src/skills/delegation/index.d.ts.map +1 -0
  203. package/dist/types/src/{blueprints → skills}/delegation/operations/delegate-task.d.ts +4 -4
  204. package/dist/types/src/skills/delegation/operations/delegate-task.d.ts.map +1 -0
  205. package/dist/types/src/skills/delegation/operations/delegate-task.test.d.ts.map +1 -0
  206. package/dist/types/src/skills/delegation/operations/index.d.ts.map +1 -0
  207. package/dist/types/src/skills/delegation/skill.d.ts +4 -0
  208. package/dist/types/src/skills/delegation/skill.d.ts.map +1 -0
  209. package/dist/types/src/skills/discord/index.d.ts +3 -0
  210. package/dist/types/src/skills/discord/index.d.ts.map +1 -0
  211. package/dist/types/src/{blueprints → skills}/discord/operations/definitions.d.ts +1 -1
  212. package/dist/types/src/skills/discord/operations/definitions.d.ts.map +1 -0
  213. package/dist/types/src/{blueprints → skills}/discord/operations/fetch-messages.d.ts +1 -1
  214. package/dist/types/src/skills/discord/operations/fetch-messages.d.ts.map +1 -0
  215. package/dist/types/src/skills/discord/operations/fetch-messages.test.d.ts.map +1 -0
  216. package/dist/types/src/skills/discord/operations/index.d.ts.map +1 -0
  217. package/dist/types/src/skills/discord/skill.d.ts +4 -0
  218. package/dist/types/src/skills/discord/skill.d.ts.map +1 -0
  219. package/dist/types/src/skills/github/index.d.ts.map +1 -0
  220. package/dist/types/src/skills/github/operations/definitions.d.ts.map +1 -0
  221. package/dist/types/src/skills/github/operations/fetch-prs.d.ts.map +1 -0
  222. package/dist/types/src/skills/github/operations/index.d.ts.map +1 -0
  223. package/dist/types/src/{blueprints → skills}/index.d.ts +3 -1
  224. package/dist/types/src/skills/index.d.ts.map +1 -0
  225. package/dist/types/src/skills/linear/index.d.ts +3 -0
  226. package/dist/types/src/skills/linear/index.d.ts.map +1 -0
  227. package/dist/types/src/skills/linear/operations/definitions.d.ts.map +1 -0
  228. package/dist/types/src/skills/linear/operations/index.d.ts.map +1 -0
  229. package/dist/types/src/skills/linear/operations/linear.test.d.ts.map +1 -0
  230. package/dist/types/src/skills/linear/operations/sync-issues.d.ts.map +1 -0
  231. package/dist/types/src/skills/linear/skill.d.ts +4 -0
  232. package/dist/types/src/skills/linear/skill.d.ts.map +1 -0
  233. package/dist/types/src/skills/memory/index.d.ts +3 -0
  234. package/dist/types/src/skills/memory/index.d.ts.map +1 -0
  235. package/dist/types/src/{blueprints → skills}/memory/operations/definitions.d.ts +2 -4
  236. package/dist/types/src/skills/memory/operations/definitions.d.ts.map +1 -0
  237. package/dist/types/src/skills/memory/operations/delete.d.ts +7 -0
  238. package/dist/types/src/skills/memory/operations/delete.d.ts.map +1 -0
  239. package/dist/types/src/skills/memory/operations/index.d.ts.map +1 -0
  240. package/dist/types/src/skills/memory/operations/query.d.ts.map +1 -0
  241. package/dist/types/src/skills/memory/operations/save.d.ts.map +1 -0
  242. package/dist/types/src/skills/memory/skill.d.ts +4 -0
  243. package/dist/types/src/skills/memory/skill.d.ts.map +1 -0
  244. package/dist/types/src/skills/memory/skill.test.d.ts +2 -0
  245. package/dist/types/src/skills/memory/skill.test.d.ts.map +1 -0
  246. package/dist/types/src/skills/planning/index.d.ts +3 -0
  247. package/dist/types/src/skills/planning/index.d.ts.map +1 -0
  248. package/dist/types/src/skills/planning/operations/definitions.d.ts +14 -0
  249. package/dist/types/src/skills/planning/operations/definitions.d.ts.map +1 -0
  250. package/dist/types/src/{blueprints → skills}/planning/operations/index.d.ts +1 -1
  251. package/dist/types/src/skills/planning/operations/index.d.ts.map +1 -0
  252. package/dist/types/src/skills/planning/operations/plan-reminder.d.ts +15 -0
  253. package/dist/types/src/skills/planning/operations/plan-reminder.d.ts.map +1 -0
  254. package/dist/types/src/skills/planning/operations/update-tasks.d.ts +7 -0
  255. package/dist/types/src/skills/planning/operations/update-tasks.d.ts.map +1 -0
  256. package/dist/types/src/skills/planning/operations/update-tasks.test.d.ts.map +1 -0
  257. package/dist/types/src/skills/planning/skill.d.ts +4 -0
  258. package/dist/types/src/skills/planning/skill.d.ts.map +1 -0
  259. package/dist/types/src/skills/planning/skill.test.d.ts +2 -0
  260. package/dist/types/src/skills/planning/skill.test.d.ts.map +1 -0
  261. package/dist/types/src/skills/skill-manager/index.d.ts +3 -0
  262. package/dist/types/src/skills/skill-manager/index.d.ts.map +1 -0
  263. package/dist/types/src/skills/skill-manager/operations/definitions.d.ts +14 -0
  264. package/dist/types/src/skills/skill-manager/operations/definitions.d.ts.map +1 -0
  265. package/dist/types/src/skills/skill-manager/operations/enable-skills.d.ts +13 -0
  266. package/dist/types/src/skills/skill-manager/operations/enable-skills.d.ts.map +1 -0
  267. package/dist/types/src/skills/skill-manager/operations/index.d.ts +4 -0
  268. package/dist/types/src/skills/skill-manager/operations/index.d.ts.map +1 -0
  269. package/dist/types/src/skills/skill-manager/operations/query-skills.d.ts +5 -0
  270. package/dist/types/src/skills/skill-manager/operations/query-skills.d.ts.map +1 -0
  271. package/dist/types/src/skills/skill-manager/skill.d.ts +4 -0
  272. package/dist/types/src/skills/skill-manager/skill.d.ts.map +1 -0
  273. package/dist/types/src/skills/skill-manager/skill.test.d.ts +2 -0
  274. package/dist/types/src/skills/skill-manager/skill.test.d.ts.map +1 -0
  275. package/dist/types/src/{blueprints → skills}/testing.d.ts +4 -4
  276. package/dist/types/src/skills/testing.d.ts.map +1 -0
  277. package/dist/types/src/{blueprints → skills}/websearch/index.d.ts +1 -1
  278. package/dist/types/src/skills/websearch/index.d.ts.map +1 -0
  279. package/dist/types/src/skills/websearch/operations/definitions.d.ts.map +1 -0
  280. package/dist/types/src/skills/websearch/operations/fetch.d.ts.map +1 -0
  281. package/dist/types/src/skills/websearch/operations/index.d.ts.map +1 -0
  282. package/dist/types/src/skills/websearch/skill.d.ts +4 -0
  283. package/dist/types/src/skills/websearch/skill.d.ts.map +1 -0
  284. package/dist/types/src/skills/websearch/skill.test.d.ts +2 -0
  285. package/dist/types/src/skills/websearch/skill.test.d.ts.map +1 -0
  286. package/dist/types/src/{blueprints → skills}/websearch/toolkit.d.ts +6 -4
  287. package/dist/types/src/skills/websearch/toolkit.d.ts.map +1 -0
  288. package/dist/types/src/supervisor/delegation-strategy.d.ts +1 -1
  289. package/dist/types/src/supervisor/delegation-strategy.d.ts.map +1 -1
  290. package/dist/types/src/supervisor/index.d.ts +0 -1
  291. package/dist/types/src/supervisor/index.d.ts.map +1 -1
  292. package/dist/types/src/testing/index.d.ts +1 -1
  293. package/dist/types/src/testing/index.d.ts.map +1 -1
  294. package/dist/types/src/testing/plugins.d.ts +2 -3
  295. package/dist/types/src/testing/plugins.d.ts.map +1 -1
  296. package/dist/types/src/types/Agent.d.ts +24 -54
  297. package/dist/types/src/types/Agent.d.ts.map +1 -1
  298. package/dist/types/src/types/Chat.d.ts +34 -44
  299. package/dist/types/src/types/Chat.d.ts.map +1 -1
  300. package/dist/types/src/types/McpServer.d.ts +10 -9
  301. package/dist/types/src/types/McpServer.d.ts.map +1 -1
  302. package/dist/types/src/types/Memory.d.ts +7 -6
  303. package/dist/types/src/types/Memory.d.ts.map +1 -1
  304. package/dist/types/src/types/Plan.d.ts +15 -38
  305. package/dist/types/src/types/Plan.d.ts.map +1 -1
  306. package/dist/types/tsconfig.tsbuildinfo +1 -1
  307. package/package.json +34 -34
  308. package/src/errors.ts +12 -0
  309. package/src/index.ts +2 -4
  310. package/src/{functions/agent → operations}/definitions.ts +16 -18
  311. package/src/{functions/agent → operations}/index.ts +1 -1
  312. package/src/operations/run-instructions.conversations.json +1 -0
  313. package/src/operations/run-instructions.test.ts +118 -0
  314. package/src/{functions/agent/prompt.ts → operations/run-instructions.ts} +34 -24
  315. package/src/{functions/agent/blueprint-resolution.test.ts → operations/skill-resolution.test.ts} +39 -39
  316. package/src/skills/AGENTS.md +13 -0
  317. package/src/skills/agent/index.ts +6 -0
  318. package/src/{blueprints → skills}/agent/operations/agent.ts +3 -3
  319. package/src/{blueprints → skills}/agent/operations/definitions.ts +6 -7
  320. package/src/skills/agent/operations/get-context.ts +87 -0
  321. package/src/{blueprints → skills}/agent/operations/index.ts +2 -2
  322. package/src/{blueprints → skills}/agent/operations/qualifier.ts +10 -4
  323. package/src/skills/agent/skill.conversations.json +1 -0
  324. package/src/{blueprints/agent/blueprint.test.ts → skills/agent/skill.test.ts} +41 -32
  325. package/src/{blueprints/agent/blueprint.ts → skills/agent/skill.ts} +10 -10
  326. package/src/{blueprints → skills}/agent-wizard/index.ts +1 -1
  327. package/src/{blueprints → skills}/agent-wizard/operations/agent-rules.ts +8 -8
  328. package/src/{blueprints → skills}/agent-wizard/operations/create-agent.ts +5 -7
  329. package/src/{blueprints → skills}/agent-wizard/operations/definitions.ts +5 -5
  330. package/src/{blueprints → skills}/agent-wizard/operations/sync-triggers.ts +4 -4
  331. package/src/{blueprints/agent-wizard/blueprint.ts → skills/agent-wizard/skill.ts} +11 -11
  332. package/src/skills/alarm/index.ts +6 -0
  333. package/src/skills/alarm/operations/definitions.ts +54 -0
  334. package/src/skills/alarm/operations/get-current-date.ts +23 -0
  335. package/src/skills/alarm/operations/index.ts +12 -0
  336. package/src/skills/alarm/operations/resolve-wake-at.ts +46 -0
  337. package/src/skills/alarm/operations/set-alarm.ts +33 -0
  338. package/src/skills/alarm/skill.test.ts +128 -0
  339. package/src/skills/alarm/skill.ts +37 -0
  340. package/src/skills/automation/index.ts +5 -0
  341. package/src/{blueprints/automation/blueprint.ts → skills/automation/skill.ts} +8 -8
  342. package/src/skills/browser/index.ts +5 -0
  343. package/src/{blueprints/browser/blueprint.test.ts → skills/browser/skill.test.ts} +7 -7
  344. package/src/{blueprints/browser/blueprint.ts → skills/browser/skill.ts} +7 -7
  345. package/src/skills/connectors/index.ts +5 -0
  346. package/src/skills/connectors/skill.ts +47 -0
  347. package/src/{blueprints → skills}/database/index.ts +1 -1
  348. package/src/{blueprints → skills}/database/operations/context-add.ts +4 -4
  349. package/src/{blueprints → skills}/database/operations/context-remove.ts +5 -5
  350. package/src/{blueprints → skills}/database/operations/definitions.ts +3 -3
  351. package/src/{blueprints → skills}/database/operations/query.ts +1 -1
  352. package/src/{blueprints → skills}/database/operations/relation-create.ts +9 -1
  353. package/src/{blueprints → skills}/database/operations/schema-list.ts +2 -2
  354. package/src/skills/database/skill.conversations.json +1 -0
  355. package/src/{blueprints/database/blueprint.test.ts → skills/database/skill.test.ts} +22 -22
  356. package/src/{blueprints/database/blueprint.ts → skills/database/skill.ts} +14 -14
  357. package/src/{blueprints → skills}/delegation/index.ts +1 -1
  358. package/src/{blueprints → skills}/delegation/operations/delegate-task.test.ts +13 -10
  359. package/src/{blueprints → skills}/delegation/operations/delegate-task.ts +6 -6
  360. package/src/skills/delegation/skill.ts +24 -0
  361. package/src/{blueprints → skills}/discord/index.ts +1 -1
  362. package/src/{blueprints → skills}/discord/operations/definitions.ts +1 -1
  363. package/src/{blueprints → skills}/discord/operations/fetch-messages.ts +1 -1
  364. package/src/{blueprints/discord/blueprint.ts → skills/discord/skill.ts} +8 -8
  365. package/src/{blueprints → skills}/index.ts +3 -1
  366. package/src/{blueprints → skills}/linear/index.ts +1 -1
  367. package/src/{blueprints/linear/blueprint.ts → skills/linear/skill.ts} +8 -8
  368. package/src/{blueprints → skills}/memory/index.ts +1 -1
  369. package/src/skills/memory/skill.conversations.json +1 -0
  370. package/src/{blueprints/memory/blueprint.test.ts → skills/memory/skill.test.ts} +11 -11
  371. package/src/{blueprints/memory/blueprint.ts → skills/memory/skill.ts} +9 -9
  372. package/src/{blueprints → skills}/planning/index.ts +1 -1
  373. package/src/skills/planning/operations/definitions.ts +44 -0
  374. package/src/skills/planning/operations/index.ts +12 -0
  375. package/src/skills/planning/operations/plan-reminder.ts +98 -0
  376. package/src/skills/planning/operations/update-tasks.test.ts +79 -0
  377. package/src/skills/planning/operations/update-tasks.ts +51 -0
  378. package/src/skills/planning/skill.conversations.json +1 -0
  379. package/src/skills/planning/skill.test.ts +123 -0
  380. package/src/skills/planning/skill.ts +34 -0
  381. package/src/skills/skill-manager/index.ts +6 -0
  382. package/src/skills/skill-manager/operations/definitions.ts +48 -0
  383. package/src/skills/skill-manager/operations/enable-skills.ts +46 -0
  384. package/src/skills/skill-manager/operations/index.ts +12 -0
  385. package/src/skills/skill-manager/operations/query-skills.ts +19 -0
  386. package/src/skills/skill-manager/skill.test.ts +174 -0
  387. package/src/skills/skill-manager/skill.ts +49 -0
  388. package/src/{blueprints → skills}/testing.ts +12 -13
  389. package/src/{blueprints → skills}/websearch/index.ts +1 -1
  390. package/src/{blueprints → skills}/websearch/operations/fetch.ts +1 -0
  391. package/src/{blueprints/websearch/blueprint.test.ts → skills/websearch/skill.test.ts} +4 -4
  392. package/src/skills/websearch/skill.ts +31 -0
  393. package/src/{blueprints → skills}/websearch/toolkit.ts +2 -3
  394. package/src/supervisor/delegation-strategy.ts +47 -24
  395. package/src/supervisor/index.ts +0 -1
  396. package/src/testing/index.ts +1 -1
  397. package/src/testing/plugins.tsx +2 -1
  398. package/src/types/Agent.test.ts +3 -3
  399. package/src/types/Agent.ts +121 -113
  400. package/src/types/Chat.ts +79 -31
  401. package/src/types/McpServer.ts +10 -11
  402. package/src/types/Memory.ts +11 -12
  403. package/src/types/Plan.ts +15 -13
  404. package/dist/lib/neutral/agent-BU6PB7J6.mjs.map +0 -7
  405. package/dist/lib/neutral/agent-rules-L3AHRSR4.mjs.map +0 -7
  406. package/dist/lib/neutral/chunk-4LFE5PQ3.mjs.map +0 -7
  407. package/dist/lib/neutral/chunk-5HANNHZZ.mjs +0 -316
  408. package/dist/lib/neutral/chunk-5HANNHZZ.mjs.map +0 -7
  409. package/dist/lib/neutral/chunk-ABOAU3NN.mjs.map +0 -7
  410. package/dist/lib/neutral/chunk-CUT6GB2W.mjs.map +0 -7
  411. package/dist/lib/neutral/chunk-JZHXJBSM.mjs +0 -48
  412. package/dist/lib/neutral/chunk-JZHXJBSM.mjs.map +0 -7
  413. package/dist/lib/neutral/chunk-KZDQGI3S.mjs.map +0 -7
  414. package/dist/lib/neutral/chunk-NSAUN2IX.mjs +0 -66
  415. package/dist/lib/neutral/chunk-NSAUN2IX.mjs.map +0 -7
  416. package/dist/lib/neutral/chunk-OK3P6URP.mjs.map +0 -7
  417. package/dist/lib/neutral/chunk-SYUTQPSB.mjs.map +0 -7
  418. package/dist/lib/neutral/chunk-WTUY5UCA.mjs.map +0 -7
  419. package/dist/lib/neutral/chunk-ZA5WZL4H.mjs.map +0 -7
  420. package/dist/lib/neutral/context-add-KWEKPGMI.mjs.map +0 -7
  421. package/dist/lib/neutral/context-remove-HIQFSVHW.mjs.map +0 -7
  422. package/dist/lib/neutral/create-agent-7PBQFYHF.mjs +0 -35
  423. package/dist/lib/neutral/create-agent-7PBQFYHF.mjs.map +0 -7
  424. package/dist/lib/neutral/definitions-BHRGH45G.mjs +0 -17
  425. package/dist/lib/neutral/delegate-task-IQJSRLN3.mjs +0 -13
  426. package/dist/lib/neutral/enable-blueprints-OGYSQ7HD.mjs +0 -47
  427. package/dist/lib/neutral/enable-blueprints-OGYSQ7HD.mjs.map +0 -7
  428. package/dist/lib/neutral/get-context-6SZ7HOV4.mjs +0 -49
  429. package/dist/lib/neutral/get-context-6SZ7HOV4.mjs.map +0 -7
  430. package/dist/lib/neutral/prompt-37GJGKNM.mjs.map +0 -7
  431. package/dist/lib/neutral/qualifier-DHPHY3YH.mjs.map +0 -7
  432. package/dist/lib/neutral/query-blueprints-7NDHHM7U.mjs +0 -17
  433. package/dist/lib/neutral/query-blueprints-7NDHHM7U.mjs.map +0 -7
  434. package/dist/lib/neutral/relation-create-WA2DM76W.mjs.map +0 -7
  435. package/dist/lib/neutral/schema-list-74CQW2N3.mjs.map +0 -7
  436. package/dist/lib/neutral/update-tasks-R5YXESZ6.mjs +0 -13
  437. package/dist/lib/neutral/update-tasks-R5YXESZ6.mjs.map +0 -7
  438. package/dist/types/src/blueprints/agent/blueprint.d.ts +0 -4
  439. package/dist/types/src/blueprints/agent/blueprint.d.ts.map +0 -1
  440. package/dist/types/src/blueprints/agent/blueprint.test.d.ts +0 -2
  441. package/dist/types/src/blueprints/agent/blueprint.test.d.ts.map +0 -1
  442. package/dist/types/src/blueprints/agent/index.d.ts +0 -3
  443. package/dist/types/src/blueprints/agent/index.d.ts.map +0 -1
  444. package/dist/types/src/blueprints/agent/operations/add-artifact.d.ts.map +0 -1
  445. package/dist/types/src/blueprints/agent/operations/agent.d.ts.map +0 -1
  446. package/dist/types/src/blueprints/agent/operations/definitions.d.ts +0 -177
  447. package/dist/types/src/blueprints/agent/operations/definitions.d.ts.map +0 -1
  448. package/dist/types/src/blueprints/agent/operations/get-context.d.ts.map +0 -1
  449. package/dist/types/src/blueprints/agent/operations/index.d.ts +0 -4
  450. package/dist/types/src/blueprints/agent/operations/index.d.ts.map +0 -1
  451. package/dist/types/src/blueprints/agent/operations/qualifier.d.ts.map +0 -1
  452. package/dist/types/src/blueprints/agent-wizard/blueprint.d.ts +0 -4
  453. package/dist/types/src/blueprints/agent-wizard/blueprint.d.ts.map +0 -1
  454. package/dist/types/src/blueprints/agent-wizard/index.d.ts +0 -3
  455. package/dist/types/src/blueprints/agent-wizard/index.d.ts.map +0 -1
  456. package/dist/types/src/blueprints/agent-wizard/operations/agent-rules.d.ts.map +0 -1
  457. package/dist/types/src/blueprints/agent-wizard/operations/create-agent.d.ts +0 -57
  458. package/dist/types/src/blueprints/agent-wizard/operations/create-agent.d.ts.map +0 -1
  459. package/dist/types/src/blueprints/agent-wizard/operations/definitions.d.ts +0 -107
  460. package/dist/types/src/blueprints/agent-wizard/operations/definitions.d.ts.map +0 -1
  461. package/dist/types/src/blueprints/agent-wizard/operations/index.d.ts.map +0 -1
  462. package/dist/types/src/blueprints/agent-wizard/operations/sync-triggers.d.ts +0 -54
  463. package/dist/types/src/blueprints/agent-wizard/operations/sync-triggers.d.ts.map +0 -1
  464. package/dist/types/src/blueprints/automation/blueprint.d.ts +0 -4
  465. package/dist/types/src/blueprints/automation/blueprint.d.ts.map +0 -1
  466. package/dist/types/src/blueprints/automation/index.d.ts +0 -2
  467. package/dist/types/src/blueprints/automation/index.d.ts.map +0 -1
  468. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +0 -4
  469. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +0 -1
  470. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +0 -2
  471. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +0 -1
  472. package/dist/types/src/blueprints/blueprint-manager/index.d.ts +0 -3
  473. package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +0 -1
  474. package/dist/types/src/blueprints/blueprint-manager/operations/definitions.d.ts +0 -60
  475. package/dist/types/src/blueprints/blueprint-manager/operations/definitions.d.ts.map +0 -1
  476. package/dist/types/src/blueprints/blueprint-manager/operations/enable-blueprints.d.ts +0 -36
  477. package/dist/types/src/blueprints/blueprint-manager/operations/enable-blueprints.d.ts.map +0 -1
  478. package/dist/types/src/blueprints/blueprint-manager/operations/index.d.ts +0 -4
  479. package/dist/types/src/blueprints/blueprint-manager/operations/index.d.ts.map +0 -1
  480. package/dist/types/src/blueprints/blueprint-manager/operations/query-blueprints.d.ts +0 -28
  481. package/dist/types/src/blueprints/blueprint-manager/operations/query-blueprints.d.ts.map +0 -1
  482. package/dist/types/src/blueprints/browser/blueprint.d.ts +0 -4
  483. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +0 -1
  484. package/dist/types/src/blueprints/browser/blueprint.test.d.ts +0 -2
  485. package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +0 -1
  486. package/dist/types/src/blueprints/browser/index.d.ts +0 -2
  487. package/dist/types/src/blueprints/browser/index.d.ts.map +0 -1
  488. package/dist/types/src/blueprints/database/blueprint.d.ts +0 -4
  489. package/dist/types/src/blueprints/database/blueprint.d.ts.map +0 -1
  490. package/dist/types/src/blueprints/database/blueprint.test.d.ts +0 -2
  491. package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +0 -1
  492. package/dist/types/src/blueprints/database/index.d.ts +0 -3
  493. package/dist/types/src/blueprints/database/index.d.ts.map +0 -1
  494. package/dist/types/src/blueprints/database/operations/context-add.d.ts.map +0 -1
  495. package/dist/types/src/blueprints/database/operations/context-remove.d.ts.map +0 -1
  496. package/dist/types/src/blueprints/database/operations/definitions.d.ts.map +0 -1
  497. package/dist/types/src/blueprints/database/operations/index.d.ts.map +0 -1
  498. package/dist/types/src/blueprints/database/operations/load.d.ts.map +0 -1
  499. package/dist/types/src/blueprints/database/operations/object-create.d.ts.map +0 -1
  500. package/dist/types/src/blueprints/database/operations/object-delete.d.ts.map +0 -1
  501. package/dist/types/src/blueprints/database/operations/object-update.d.ts.map +0 -1
  502. package/dist/types/src/blueprints/database/operations/query.d.ts.map +0 -1
  503. package/dist/types/src/blueprints/database/operations/relation-create.d.ts.map +0 -1
  504. package/dist/types/src/blueprints/database/operations/relation-delete.d.ts.map +0 -1
  505. package/dist/types/src/blueprints/database/operations/schema-add.d.ts.map +0 -1
  506. package/dist/types/src/blueprints/database/operations/schema-list.d.ts.map +0 -1
  507. package/dist/types/src/blueprints/database/operations/tag-add.d.ts.map +0 -1
  508. package/dist/types/src/blueprints/database/operations/tag-remove.d.ts.map +0 -1
  509. package/dist/types/src/blueprints/delegation/blueprint.d.ts +0 -4
  510. package/dist/types/src/blueprints/delegation/blueprint.d.ts.map +0 -1
  511. package/dist/types/src/blueprints/delegation/index.d.ts +0 -3
  512. package/dist/types/src/blueprints/delegation/index.d.ts.map +0 -1
  513. package/dist/types/src/blueprints/delegation/operations/delegate-task.d.ts.map +0 -1
  514. package/dist/types/src/blueprints/delegation/operations/delegate-task.test.d.ts.map +0 -1
  515. package/dist/types/src/blueprints/delegation/operations/index.d.ts.map +0 -1
  516. package/dist/types/src/blueprints/discord/blueprint.d.ts +0 -4
  517. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +0 -1
  518. package/dist/types/src/blueprints/discord/index.d.ts +0 -3
  519. package/dist/types/src/blueprints/discord/index.d.ts.map +0 -1
  520. package/dist/types/src/blueprints/discord/operations/definitions.d.ts.map +0 -1
  521. package/dist/types/src/blueprints/discord/operations/fetch-messages.d.ts.map +0 -1
  522. package/dist/types/src/blueprints/discord/operations/fetch-messages.test.d.ts.map +0 -1
  523. package/dist/types/src/blueprints/discord/operations/index.d.ts.map +0 -1
  524. package/dist/types/src/blueprints/github/index.d.ts.map +0 -1
  525. package/dist/types/src/blueprints/github/operations/definitions.d.ts.map +0 -1
  526. package/dist/types/src/blueprints/github/operations/fetch-prs.d.ts.map +0 -1
  527. package/dist/types/src/blueprints/github/operations/index.d.ts.map +0 -1
  528. package/dist/types/src/blueprints/index.d.ts.map +0 -1
  529. package/dist/types/src/blueprints/linear/blueprint.d.ts +0 -4
  530. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +0 -1
  531. package/dist/types/src/blueprints/linear/index.d.ts +0 -3
  532. package/dist/types/src/blueprints/linear/index.d.ts.map +0 -1
  533. package/dist/types/src/blueprints/linear/operations/definitions.d.ts.map +0 -1
  534. package/dist/types/src/blueprints/linear/operations/index.d.ts.map +0 -1
  535. package/dist/types/src/blueprints/linear/operations/linear.test.d.ts.map +0 -1
  536. package/dist/types/src/blueprints/linear/operations/sync-issues.d.ts.map +0 -1
  537. package/dist/types/src/blueprints/memory/blueprint.d.ts +0 -4
  538. package/dist/types/src/blueprints/memory/blueprint.d.ts.map +0 -1
  539. package/dist/types/src/blueprints/memory/blueprint.test.d.ts +0 -2
  540. package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +0 -1
  541. package/dist/types/src/blueprints/memory/index.d.ts +0 -3
  542. package/dist/types/src/blueprints/memory/index.d.ts.map +0 -1
  543. package/dist/types/src/blueprints/memory/operations/definitions.d.ts.map +0 -1
  544. package/dist/types/src/blueprints/memory/operations/delete.d.ts +0 -10
  545. package/dist/types/src/blueprints/memory/operations/delete.d.ts.map +0 -1
  546. package/dist/types/src/blueprints/memory/operations/index.d.ts.map +0 -1
  547. package/dist/types/src/blueprints/memory/operations/query.d.ts.map +0 -1
  548. package/dist/types/src/blueprints/memory/operations/save.d.ts.map +0 -1
  549. package/dist/types/src/blueprints/planning/blueprint.d.ts +0 -4
  550. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +0 -1
  551. package/dist/types/src/blueprints/planning/index.d.ts +0 -3
  552. package/dist/types/src/blueprints/planning/index.d.ts.map +0 -1
  553. package/dist/types/src/blueprints/planning/operations/index.d.ts.map +0 -1
  554. package/dist/types/src/blueprints/planning/operations/update-tasks.d.ts +0 -24
  555. package/dist/types/src/blueprints/planning/operations/update-tasks.d.ts.map +0 -1
  556. package/dist/types/src/blueprints/planning/operations/update-tasks.test.d.ts.map +0 -1
  557. package/dist/types/src/blueprints/testing.d.ts.map +0 -1
  558. package/dist/types/src/blueprints/websearch/blueprint.d.ts +0 -4
  559. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +0 -1
  560. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts +0 -2
  561. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +0 -1
  562. package/dist/types/src/blueprints/websearch/index.d.ts.map +0 -1
  563. package/dist/types/src/blueprints/websearch/operations/definitions.d.ts.map +0 -1
  564. package/dist/types/src/blueprints/websearch/operations/fetch.d.ts.map +0 -1
  565. package/dist/types/src/blueprints/websearch/operations/index.d.ts.map +0 -1
  566. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +0 -1
  567. package/dist/types/src/crud/graph.d.ts +0 -64
  568. package/dist/types/src/crud/graph.d.ts.map +0 -1
  569. package/dist/types/src/crud/graph.test.d.ts +0 -2
  570. package/dist/types/src/crud/graph.test.d.ts.map +0 -1
  571. package/dist/types/src/crud/index.d.ts +0 -2
  572. package/dist/types/src/crud/index.d.ts.map +0 -1
  573. package/dist/types/src/functions/agent/blueprint-resolution.test.d.ts +0 -2
  574. package/dist/types/src/functions/agent/blueprint-resolution.test.d.ts.map +0 -1
  575. package/dist/types/src/functions/agent/definitions.d.ts +0 -53
  576. package/dist/types/src/functions/agent/definitions.d.ts.map +0 -1
  577. package/dist/types/src/functions/agent/index.d.ts.map +0 -1
  578. package/dist/types/src/functions/agent/prompt.d.ts.map +0 -1
  579. package/dist/types/src/functions/agent/prompt.test.d.ts +0 -2
  580. package/dist/types/src/functions/agent/prompt.test.d.ts.map +0 -1
  581. package/dist/types/src/functions/index.d.ts +0 -2
  582. package/dist/types/src/functions/index.d.ts.map +0 -1
  583. package/dist/types/src/supervisor/plan-completion-guard.d.ts +0 -6
  584. package/dist/types/src/supervisor/plan-completion-guard.d.ts.map +0 -1
  585. package/dist/types/src/toolkits/WebToolkit.d.ts +0 -38
  586. package/dist/types/src/toolkits/WebToolkit.d.ts.map +0 -1
  587. package/dist/types/src/toolkits/index.d.ts +0 -2
  588. package/dist/types/src/toolkits/index.d.ts.map +0 -1
  589. package/src/blueprints/AGENTS.md +0 -13
  590. package/src/blueprints/agent/blueprint.conversations.json +0 -1
  591. package/src/blueprints/agent/index.ts +0 -6
  592. package/src/blueprints/agent/operations/get-context.ts +0 -58
  593. package/src/blueprints/automation/index.ts +0 -5
  594. package/src/blueprints/blueprint-manager/blueprint.test.ts +0 -156
  595. package/src/blueprints/blueprint-manager/blueprint.ts +0 -49
  596. package/src/blueprints/blueprint-manager/index.ts +0 -6
  597. package/src/blueprints/blueprint-manager/operations/definitions.ts +0 -48
  598. package/src/blueprints/blueprint-manager/operations/enable-blueprints.ts +0 -46
  599. package/src/blueprints/blueprint-manager/operations/index.ts +0 -12
  600. package/src/blueprints/blueprint-manager/operations/query-blueprints.ts +0 -19
  601. package/src/blueprints/browser/index.ts +0 -5
  602. package/src/blueprints/database/blueprint.conversations.json +0 -1
  603. package/src/blueprints/delegation/blueprint.ts +0 -24
  604. package/src/blueprints/memory/blueprint.conversations.json +0 -1
  605. package/src/blueprints/planning/blueprint.ts +0 -24
  606. package/src/blueprints/planning/operations/index.ts +0 -9
  607. package/src/blueprints/planning/operations/update-tasks.test.ts +0 -55
  608. package/src/blueprints/planning/operations/update-tasks.ts +0 -72
  609. package/src/blueprints/websearch/blueprint.ts +0 -30
  610. package/src/crud/graph.test.ts +0 -44
  611. package/src/crud/graph.ts +0 -364
  612. package/src/crud/index.ts +0 -5
  613. package/src/functions/READ_THIS.md +0 -5
  614. package/src/functions/agent/prompt.conversations.json +0 -1
  615. package/src/functions/agent/prompt.test.ts +0 -78
  616. package/src/functions/index.ts +0 -5
  617. package/src/supervisor/plan-completion-guard.ts +0 -50
  618. package/src/toolkits/WebToolkit.ts +0 -44
  619. package/src/toolkits/index.ts +0 -5
  620. /package/dist/lib/neutral/{definitions-BHRGH45G.mjs.map → definitions-VRR5OGXI.mjs.map} +0 -0
  621. /package/dist/lib/neutral/{delegate-task-IQJSRLN3.mjs.map → delegate-task-UX64NK4M.mjs.map} +0 -0
  622. /package/dist/types/src/{functions/agent → operations}/index.d.ts +0 -0
  623. /package/dist/types/src/{blueprints → skills}/agent/operations/add-artifact.d.ts +0 -0
  624. /package/dist/types/src/{blueprints → skills}/agent/operations/agent.d.ts +0 -0
  625. /package/dist/types/src/{blueprints → skills}/agent/operations/get-context.d.ts +0 -0
  626. /package/dist/types/src/{blueprints → skills}/agent/operations/qualifier.d.ts +0 -0
  627. /package/dist/types/src/{blueprints → skills}/agent-wizard/operations/agent-rules.d.ts +0 -0
  628. /package/dist/types/src/{blueprints → skills}/agent-wizard/operations/index.d.ts +0 -0
  629. /package/dist/types/src/{blueprints → skills}/database/operations/index.d.ts +0 -0
  630. /package/dist/types/src/{blueprints → skills}/database/operations/load.d.ts +0 -0
  631. /package/dist/types/src/{blueprints → skills}/database/operations/object-create.d.ts +0 -0
  632. /package/dist/types/src/{blueprints → skills}/database/operations/object-delete.d.ts +0 -0
  633. /package/dist/types/src/{blueprints → skills}/database/operations/object-update.d.ts +0 -0
  634. /package/dist/types/src/{blueprints → skills}/database/operations/query.d.ts +0 -0
  635. /package/dist/types/src/{blueprints → skills}/database/operations/relation-create.d.ts +0 -0
  636. /package/dist/types/src/{blueprints → skills}/database/operations/relation-delete.d.ts +0 -0
  637. /package/dist/types/src/{blueprints → skills}/database/operations/schema-add.d.ts +0 -0
  638. /package/dist/types/src/{blueprints → skills}/database/operations/schema-list.d.ts +0 -0
  639. /package/dist/types/src/{blueprints → skills}/delegation/operations/delegate-task.test.d.ts +0 -0
  640. /package/dist/types/src/{blueprints → skills}/delegation/operations/index.d.ts +0 -0
  641. /package/dist/types/src/{blueprints → skills}/discord/operations/fetch-messages.test.d.ts +0 -0
  642. /package/dist/types/src/{blueprints → skills}/discord/operations/index.d.ts +0 -0
  643. /package/dist/types/src/{blueprints → skills}/github/index.d.ts +0 -0
  644. /package/dist/types/src/{blueprints → skills}/github/operations/definitions.d.ts +0 -0
  645. /package/dist/types/src/{blueprints → skills}/github/operations/fetch-prs.d.ts +0 -0
  646. /package/dist/types/src/{blueprints → skills}/github/operations/index.d.ts +0 -0
  647. /package/dist/types/src/{blueprints → skills}/linear/operations/definitions.d.ts +0 -0
  648. /package/dist/types/src/{blueprints → skills}/linear/operations/index.d.ts +0 -0
  649. /package/dist/types/src/{blueprints → skills}/linear/operations/linear.test.d.ts +0 -0
  650. /package/dist/types/src/{blueprints → skills}/linear/operations/sync-issues.d.ts +0 -0
  651. /package/dist/types/src/{blueprints → skills}/memory/operations/index.d.ts +0 -0
  652. /package/dist/types/src/{blueprints → skills}/memory/operations/query.d.ts +0 -0
  653. /package/dist/types/src/{blueprints → skills}/memory/operations/save.d.ts +0 -0
  654. /package/dist/types/src/{blueprints → skills}/planning/operations/update-tasks.test.d.ts +0 -0
  655. /package/dist/types/src/{blueprints → skills}/websearch/operations/definitions.d.ts +0 -0
  656. /package/dist/types/src/{blueprints → skills}/websearch/operations/fetch.d.ts +0 -0
  657. /package/dist/types/src/{blueprints → skills}/websearch/operations/index.d.ts +0 -0
  658. /package/src/{blueprints → skills}/agent/operations/add-artifact.ts +0 -0
  659. /package/src/{blueprints → skills}/agent-wizard/operations/index.ts +0 -0
  660. /package/src/{blueprints → skills}/database/operations/index.ts +0 -0
  661. /package/src/{blueprints → skills}/database/operations/load.ts +0 -0
  662. /package/src/{blueprints → skills}/database/operations/object-create.ts +0 -0
  663. /package/src/{blueprints → skills}/database/operations/object-delete.ts +0 -0
  664. /package/src/{blueprints → skills}/database/operations/object-update.ts +0 -0
  665. /package/src/{blueprints → skills}/database/operations/relation-delete.ts +0 -0
  666. /package/src/{blueprints → skills}/database/operations/schema-add.ts +0 -0
  667. /package/src/{blueprints → skills}/database/operations/tag-add.ts +0 -0
  668. /package/src/{blueprints → skills}/database/operations/tag-remove.ts +0 -0
  669. /package/src/{blueprints → skills}/delegation/operations/index.ts +0 -0
  670. /package/src/{blueprints → skills}/discord/operations/fetch-messages.test.ts +0 -0
  671. /package/src/{blueprints → skills}/discord/operations/index.ts +0 -0
  672. /package/src/{blueprints → skills}/github/index.ts +0 -0
  673. /package/src/{blueprints → skills}/github/operations/definitions.ts +0 -0
  674. /package/src/{blueprints → skills}/github/operations/fetch-prs.ts +0 -0
  675. /package/src/{blueprints → skills}/github/operations/index.ts +0 -0
  676. /package/src/{blueprints → skills}/linear/operations/definitions.ts +0 -0
  677. /package/src/{blueprints → skills}/linear/operations/index.ts +0 -0
  678. /package/src/{blueprints → skills}/linear/operations/linear.test.ts +0 -0
  679. /package/src/{blueprints → skills}/linear/operations/sync-issues.ts +0 -0
  680. /package/src/{blueprints → skills}/memory/operations/definitions.ts +0 -0
  681. /package/src/{blueprints → skills}/memory/operations/delete.ts +0 -0
  682. /package/src/{blueprints → skills}/memory/operations/index.ts +0 -0
  683. /package/src/{blueprints → skills}/memory/operations/query.ts +0 -0
  684. /package/src/{blueprints → skills}/memory/operations/save.ts +0 -0
  685. /package/src/{blueprints → skills}/planning/operations/update-tasks.md +0 -0
  686. /package/src/{blueprints → skills}/websearch/operations/definitions.ts +0 -0
  687. /package/src/{blueprints → skills}/websearch/operations/index.ts +0 -0
@@ -1 +0,0 @@
1
- {"conversations":[{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01Gusrczrkpf6d9YWmz133kn","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:18.565Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to see all available schemas. Let me list them.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoQCCmMIDhgCKkAE6cjwX2mGcIp5FbJ94RzUp2c4rrz4krG3ngXVvDDQlnPSuAvWRLWjHhZDKto8oUMFI2iB3G8XCXC9ouJt15EBMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDKIKDCd+7wUkwe0QoRoMpEnZxi0aqOMIkizjIjDC2ZiQQS97MzV9wnVh5i9rv2OUayM6ISXBZmj6FdfdInH+lLsRGVoHm6wGWA2u6BYqT3jzHP1i9ktj0V71xgPoxIs5mrY8eBynXLw/I+R6g7zO3+IGoZuLsipj9YcKXT50hqtOPhMwPnKZkYtkpxIl5M+gP7oQkI4+U43QNRfSAN8YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01N3s7VcJBdW7baRMMotXfTs","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01N3s7VcJBdW7baRMMotXfTs","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01N3s7VcJBdW7baRMMotXfTs","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":66,"totalTokens":69},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7299},"cache_creation_input_tokens":7299,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":22,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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. Let me list them.","options":{}},{"type":"tool-call","id":"toolu_01N3s7VcJBdW7baRMMotXfTs","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01N3s7VcJBdW7baRMMotXfTs","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_013Wp7cMTQdRrw6bNBsK9Fgp","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:22.027Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me organize the schemas nicely for the user.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvYBCmMIDhgCKkBDPBTSFtIK9KBZRbdQhvTr0eR18cZZKTgEtwEVVUu+EvOYBRQnMIriMCbqhjj9gbIJJUbgNRDac5skJT60MB2iMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDNS2hRPLOUe1fKkrtBoM2zKUZDzgp4KEOd6pIjD1GaYYj5Fc5jiLM+FlWRHhqZ+wRJS/XVdfnZD8xIqtmKgaoizg3d7LRzC3fgYWXWkqQaSooOhk+UaXhcd7i4xkIcVzqkII+vNunBXMZvcIjKd0apDgBs25hK6YzXlPIxHFHODBCEHHARMKpkZO8x3+eRgfGAE="}}},{"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 all the available schemas and their typenames:\n\n| #","metadata":{}},{"type":"text-delta","id":"1","delta":" | Typename | Kind | Description |\n|---|----------|------|-------------|\n| 1 | `com","metadata":{}},{"type":"text-delta","id":"1","delta":".example.type.expando` | Record | A flexible/generic","metadata":{}},{"type":"text-delta","id":"1","delta":" object that allows additional properties |\n| 2 | `org.dxos.relation.employer","metadata":{}},{"type":"text-delta","id":"1","delta":"` | Relation | Links a **Person** to an **Organization** (employer relationship","metadata":{}},{"type":"text-delta","id":"1","delta":"), with fields like role, active status, and dates","metadata":{}},{"type":"text-delta","id":"1","delta":" |\n| 3 | `org.dxos.type.function` | Record | Represents a function with input/","metadata":{}},{"type":"text-delta","id":"1","delta":"output schemas, bindings, and services |\n| 4 | `org.dxos.type.organization` | Record | An","metadata":{}},{"type":"text-delta","id":"1","delta":" organization with name, description, status (prospect/qualified/active/","metadata":{}},{"type":"text-delta","id":"1","delta":"commit/reject), website, image, and location |\n| 5 | `org","metadata":{}},{"type":"text-delta","id":"1","delta":".dxos.type.person` | Record | A person with full name, emails, phone numbers, addresses, job title, department, birthday, URLs","metadata":{}},{"type":"text-delta","id":"1","delta":", and more |\n| 6 | `org.dxos.type.tag` | Record | A tag with a label and optional hue (","metadata":{}},{"type":"text-delta","id":"1","delta":"color), used for tagging other objects |\n| 7 | `org.dxos.type.trigger` | Record | A trigger that","metadata":{}},{"type":"text-delta","id":"1","delta":" fires a function based on events like email, feed updates, subscriptions, tim","metadata":{}},{"type":"text-delta","id":"1","delta":"ers (cron), or webhooks |\n\nIn summary, you can","metadata":{}},{"type":"text-delta","id":"1","delta":" work with **people**, **organizations**, **employer relations**, **functions**, **triggers**, **tags**, and **expand","metadata":{}},{"type":"text-delta","id":"1","delta":"os** (flexible generic objects). Let me know if you'd like to dive","metadata":{}},{"type":"text-delta","id":"1","delta":" deeper into any of these or create/query objects!","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":406,"totalTokens":407},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4001},"cache_creation_input_tokens":4001,"cache_read_input_tokens":7299,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01MWAktG8FTvQGQGNpEDFwsD","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:33.047Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to add a new schema called \"Project\" with specific fields.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eo8CCmMIDhgCKkCMe2/Q5qNw6kK6MLLReF6GJ6UTuqIOnLSa1ld378KlayhXscEx5HN0LZ3uwr02ZIzIVo7hD47wa/Yp3G2K3xQBMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDA5sEgR/WRd5dqgv9hoMWrM76MhVmTpaWpYTIjBXWmYlBs7t57l2iZLqw8lala1jmkUlsMhiUnbbLYF8aUEwJDCJT77diRHcq1zvnxoqWsmikZnFBgA5XpztgzktxLHhV5HUJYzGWUQnh1gYfTUuVhohMel7kjNoVLcGt2WnBuERaIU3hYyT1r82IIX5zDS54fdOMBzKg3RzfmFmAPo/qZTuOV2hvBc6KhgB"}}},{"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_01HWghGVqkEanxAgqR58PY2E","name":"add-schema","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"{\"name\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"Pr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"oject\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":", \"typena","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"me\": \"com.ex","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"ampl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"e.type.pro","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"ject\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":", \"js","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"onSchema\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":": {\"type","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"\":\"ob","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"ject\",\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"properti","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"es\":{\"nam","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"e\":{","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"\"type\":\"s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"tring\"},\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"desc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"ri","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"ption\":{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"type\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"\"string\"},\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"sta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"tus\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":":{\"type\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":":\"string","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"\"}","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"},\"required","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"\":[\"nam","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"e\",\"descript","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"ion\",","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HWghGVqkEanxAgqR58PY2E","delta":"\"status\"]}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01HWghGVqkEanxAgqR58PY2E","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":225,"totalTokens":228},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7321},"cache_creation_input_tokens":7321,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":45,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 add 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_01HWghGVqkEanxAgqR58PY2E","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","description","status"]}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01HWghGVqkEanxAgqR58PY2E","name":"add-schema","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0156gsXP5vKpZSF8cntUY8AL","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:37.537Z","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:\n\n- **Name:** Project\n- **","metadata":{}},{"type":"text-delta","id":"0","delta":"Typename:** `com.example.type.project`\n- **Fields:**\n - `name` (string)\n - `description` (string)\n - `status` (","metadata":{}},{"type":"text-delta","id":"0","delta":"string)\n\nYou can now create objects using this schema. Would you like to create","metadata":{}},{"type":"text-delta","id":"0","delta":" a new Project object?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":94,"totalTokens":95},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":174},"cache_creation_input_tokens":174,"cache_read_input_tokens":7321,"input_tokens":1,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01UqcHgKoeeTXDHRNbNdWcgq","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:41.755Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me first check what schemas are available to find the","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" right typename for an organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqMCCmMIDhgCKkB4JEglhcoe/5xD8uepyMeUzIhDtJNd35NfKPuDKsF39azcDWYuQao8bOf64AvDswZ3lZGToyogNHBXodzGWG6gMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDPYNulvzcxYyIGRYmhoMxZoEEV0RdR/LzkRJIjDZ2wDWmVrgo6gfZn8ieYdOYld5P9TPO1cdtVHXUCvqVYkMCY0izMZXc3HbFps8Skkqbhx+efzweOv9Iztm0+7klcdr6ma9rKND6a/Xc4h2Spcvoercyrn+FZ7wl4AYaxtAosNpvdOsh/2HeJkg471rce4Jt0ll6KdhgfOj85bdD6EwGhK4LXrJzcSkq4uiQj8UxEz/mhaD6RQwhlQns1ajGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first check what schemas are available for organizations.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01NQtUaSeVw9rGCKFnbQivXy","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01NQtUaSeVw9rGCKFnbQivXy","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01NQtUaSeVw9rGCKFnbQivXy","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":81,"totalTokens":84},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7298},"cache_creation_input_tokens":7298,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":19,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 first check what schemas are available to find the right typename for an organization.","options":{}},{"type":"text","text":"Let me first check what schemas are available for organizations.","options":{}},{"type":"tool-call","id":"toolu_01NQtUaSeVw9rGCKFnbQivXy","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01NQtUaSeVw9rGCKFnbQivXy","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_01GuQRkskATFos4cBjLdFw8H","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:45.179Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the organization schema. Let me create a new organization with the name","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" \"Cyberdyne Systems\".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqoCCmMIDhgCKkAJmxqAOK6tEAvCgsHfxAt/vlHPJKmAWzdtX23HDWe4izoxPTDOtld1rm+JsDRuu98fhUi3EFviih2br6kYPXY1Mg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDEcfiHyTTw3mTWYGXxoMhvRs2SZ9xiyZBPbDIjArg3b2pvF3HyYIW44RUKEJoowe9C32mjY3vKUOi1wN2wFm8J1c/IKp+99uyhyADssqdeM8mKzwYYgRsi35wEChQLaHA3n64QcGJrvq0eRtjh/PczLjkAL/L1l4+xwMCC9/PPNwEoOgIDn34x1FIqHc0QaeLHkka/XWCfsaGPdTdHY5pKxpUJ5KBjh6VHEMSYB0Z2PccFcZFnkbpRPMJvEC0fVFnSU/mhgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the `","metadata":{}},{"type":"text-delta","id":"1","delta":"org.dxos.type.organization` schema. Let me create the organization now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"ename\": \"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"rg.dxos.typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"e.o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"rganiza","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"tion","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"data\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":": {\"name\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":":\"Cyberdyn","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"e Syst","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","delta":"ems\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","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":4012},"cache_creation_input_tokens":4012,"cache_read_input_tokens":7298,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 first check what schemas are available to find the right typename for an organization.","options":{}},{"type":"text","text":"Let me first check what schemas are available for organizations.","options":{}},{"type":"tool-call","id":"toolu_01NQtUaSeVw9rGCKFnbQivXy","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01NQtUaSeVw9rGCKFnbQivXy","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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 organization schema. Let me create a new organization with the name \"Cyberdyne Systems\".","options":{}},{"type":"text","text":"I found the `org.dxos.type.organization` schema. Let me create the organization now.","options":{}},{"type":"tool-call","id":"toolu_01XiMhH9hHHmcbC8r98GKrpU","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_01XiMhH9hHHmcbC8r98GKrpU","name":"create-object","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNTFX","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTFX","name":"Cyberdyne Systems"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_019c7BEU7et1CUmwwBGGToEX","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:48.730Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" organization **\"Cyberdyne Systems\"** has been created successfully! 🏢 It","metadata":{}},{"type":"text-delta","id":"0","delta":"'s now available in your space. You can update it later with","metadata":{}},{"type":"text-delta","id":"0","delta":" additional details like a description, status, website, or location if needed.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":53,"totalTokens":54},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":243},"cache_creation_input_tokens":243,"cache_read_input_tokens":11310,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01PaQQpXdq34fP4kZowNNuhs","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:53.600Z","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 check","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the available schemas to understand the structure, and also search","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" for the organization \"Cyberdyne Systems\" to get its reference.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Er0DCmMIDhgCKkC0jIyciuO4kKhFzdvIhR1US0W3uhQqOmSzrUIAg7vPnqXLt3TUfuTncNQsPXx5bz0B+JR2d47smrBasj0RSJb4Mg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDKnaNN9P6ozGcI9wEBoMRx6luQhXIbH/TWHCIjAashk8X+QZSJNHJ0kPUIpXSRvFOcT4oeYAqS/sdtN2kfCIt7RDIo+uKxQ7220FLzUqhwIpJT/e6ZWEbvcklvCPJxUML7fmsW9FSV3pkQO7P+ZZuPtfZIK+Uk9yVRXQ+hLEwoj7d1RhQ+3ax4vhaypIYYua55gfkoXjEtumEqMNwxU2NPVfOWbShcju5x1K2aQAqw2HupCglV7otyXT9z9GOzivz/kaTBBH2nDvkcf4YPZbWZqCE20KubAmMcqylAvUhkLDQ2t8j7eMTCstYvAxE8BiSuXvAclrz8mAtU0P7GLr6BP87KYwAFucQLAJSsyfkpYnv8aTKXaORwuTDraeFD9OPn4qUTrZKcVAW0oUue5IhA1N9mxJaYPX0GBi2rYfvCK0bjk0X5k7imZ7k9C/bqvfWiv7AYF2ZRgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll start by looking","metadata":{}},{"type":"text-delta","id":"1","delta":" up the available schemas and searching for the \"Cyberdyne Systems\" organization in parallel.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","metadata":{}},{"type":"tool-params-start","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"{\"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"xt\": \"Cy","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"berdyne Sy","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"stems","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":", \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"nclud","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"eContent","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":", \"limi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","delta":"t\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":202,"totalTokens":205},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7310},"cache_creation_input_tokens":7310,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":33,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 check the available schemas to understand the structure, and also search for the organization \"Cyberdyne Systems\" to get its reference.","options":{}},{"type":"text","text":"I'll start by looking up the available schemas and searching for the \"Cyberdyne Systems\" organization in parallel.","options":{}},{"type":"tool-call","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_01ADc6MVsdzRyJFCVpB1U8c8","name":"query","isFailure":false,"result":[],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01C9CPmv8itH6aQEJtuP9VdE","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:28:58.871Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" query for \"Cyberdyne Systems\" returned no results. I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" need to create the organization first, then create the person with","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" a reference to it.\n\nLet me create the organization first.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvwCCmMIDhgCKkDYB85m84RkwRVwyJGK7PMR5FqQvNRm3gZM7q6y/Ky1LR60vZ0sw5Ug4hyAcOBAvF/U/J/iNpXRFTDjIp+QjRyyMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDGvkedomR0+i03WmnxoMvkdBHueWmtt50B2pIjAj3D0wUmuLWOgHJ1UhhxU2UhSPRmcip7wBSYl+Yn+MALDdrYXlsdjNmsq8tIGd10IqxgGi7GGCY2TOq4+Q5/OFvNu+Yh9VQP/fRZaY0jsYN594kNKRSdJ1nI2PiIUDLnabJMJTMYEqCCPTkr/JDC92TjsJBAT9MndH/u4bkAElreRx9ngM44PlItH+1RRp8bVkjkfMNN5/7kM4Pr3FYovuCU0/du8H/lwRlYMk6DzuHDt+jPWEOc1fZYPDTxQ1hlsnZU8YK/ADc9pE92k5/yb3fyGEUS6IHEN81VgsQT2tqEMqTPTVVWbQ7z2IUxoHnaaNS12LP2dFgskYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"The organization \"Cyberdyne Systems\" doesn","metadata":{}},{"type":"text-delta","id":"1","delta":"'t exist yet. I'll create it first, and then create the person with a reference to it.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"{\"ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"pename\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"org.dxos.t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"ype.or","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"gan","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"izati","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"on\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":", \"data\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"{\"na","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"me\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"\"Cyberdyne","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":" S","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"ystem","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","delta":"s\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":174,"totalTokens":175},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4149},"cache_creation_input_tokens":4149,"cache_read_input_tokens":7310,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 check the available schemas to understand the structure, and also search for the organization \"Cyberdyne Systems\" to get its reference.","options":{}},{"type":"text","text":"I'll start by looking up the available schemas and searching for the \"Cyberdyne Systems\" organization in parallel.","options":{}},{"type":"tool-call","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_01ADc6MVsdzRyJFCVpB1U8c8","name":"query","isFailure":false,"result":[],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The query for \"Cyberdyne Systems\" returned no results. I need to create the organization 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. I'll create it first, and then create the person with a reference to it.","options":{}},{"type":"tool-call","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","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_01WTqmePhdWLnBW6S18KHLbs","name":"create-object","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNTKJ","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTKJ","name":"Cyberdyne Systems"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Xz7qmF8acnikLWG5Wu463V","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:04.721Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Now","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" I can create the person with a reference to the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EocCCmMIDhgCKkCfrnRpvE1WWhMkQiQaOVphRqFOw6/LS2lIVdIYz70wEbDfDjnonZxY7AWeoUaJVmYabDGBT7L67+x5iRkGpb5sMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDB+QxJMngiSKR6O6ABoM/YSw7xWCQpEslXUzIjCx/4RpuRVSJo4fBARzpqyCfx9357+iNgTCLtpou3iaeJAlixFP09l5QQUqaC+mC2IqUmmK3n0ohZlj6BzJ/QzMW7yceZjXzcn6XyZOOk6PMEiP7HKQYprmK3AX82TUIpa3aRu9kmmqubIENN4Iie+9Wiwe5rnogHIm0clac3Ca3rcsmpcYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Now I'll create the person with a reference to the newly","metadata":{}},{"type":"text-delta","id":"1","delta":" created organization.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"typename\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":" \"org.dxos.t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"ype.perso","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"n\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":", \"da","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"ta\": {\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"fullNa","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"me\":\"John","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":" Doe\",\"orga","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"nization\":{","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"\"/\":\"echo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":":/01JGFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"JZ00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"SJGMAK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"CNT","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","delta":"KJ\"}}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":161,"totalTokens":162},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":251},"cache_creation_input_tokens":251,"cache_read_input_tokens":11459,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 check the available schemas to understand the structure, and also search for the organization \"Cyberdyne Systems\" to get its reference.","options":{}},{"type":"text","text":"I'll start by looking up the available schemas and searching for the \"Cyberdyne Systems\" organization in parallel.","options":{}},{"type":"tool-call","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01ADc6MVsdzRyJFCVpB1U8c8","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01A1NUK3Zg6Sns4uu3kgUn87","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_01ADc6MVsdzRyJFCVpB1U8c8","name":"query","isFailure":false,"result":[],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The query for \"Cyberdyne Systems\" returned no results. I need to create the organization 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. I'll create it first, and then create the person with a reference to it.","options":{}},{"type":"tool-call","id":"toolu_01WTqmePhdWLnBW6S18KHLbs","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_01WTqmePhdWLnBW6S18KHLbs","name":"create-object","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNTKJ","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTKJ","name":"Cyberdyne Systems"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Now I can create the person with a reference to the organization.","options":{}},{"type":"text","text":"Now I'll create the person with a reference to the newly created organization.","options":{}},{"type":"tool-call","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","name":"create-object","params":{"typename":"org.dxos.type.person","data":{"fullName":"John Doe","organization":{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNTKJ"}}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01DrPCNqQUN4NHSQ1mqv9Su2","name":"create-object","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNTMV","@type":"dxn:org.dxos.type.person:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTMV","fullName":"John Doe","organization":{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNTKJ"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01H5fFMUGqXBxME7KDx9ECUC","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:09.907Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! Here's what was created:\n\n1. **Organization** — *Cyberdyne Systems* (`01","metadata":{}},{"type":"text-delta","id":"0","delta":"JGFJJZ00G0WKQSJGMAKCNTKJ`)\n2. **Person** — *John Doe* (`01JGFJJZ00G0WKQSJGMAKCNTMV`)","metadata":{}},{"type":"text-delta","id":"0","delta":" with the `organization` field referencing Cyberdyne Systems.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":97,"totalTokens":98},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":293},"cache_creation_input_tokens":293,"cache_read_input_tokens":11710,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01YF69rKmxgWqQtk4TAXi9Jh","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:13.421Z","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":"Eo4CCmMIDhgCKkBh5cBbPReV0hFl90boBATi5YxFuSAyCHHlM+0e2D5QuBIJcNj0c0QNhoSa89PneLYY4zwknzexmdzGdIM+OhIsMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDMxFETeGWHqZLxyJAhoMCpiwuEKiZjkwOQyJIjAMG5qzypQbxQ9Kn295vJ+ks+Xpa1NuyfoXLBMErzsQjJgmK4DSQtY2Q09+2mnAVjQqWVOWV4Bn5UIlSVedr4yNzy8RMbPwM0qpd9UVbZKkmyOB5S7vOLnYHZpavqr1KwQvEdbq8/Qn3+HpLw6TY3m6VszBEjssZxneJLWhGHSarcTaoVVG+TrI90MPGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let","metadata":{}},{"type":"text-delta","id":"1","delta":" me find the organization \"Obsolete Corp\" first.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"{\"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"xt\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":": \"Obs","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"olete ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"Corp","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":", \"in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"cludeC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"ontent\": tr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"ue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","delta":"limit\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","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":7295},"cache_creation_input_tokens":7295,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 organization \"Obsolete Corp\" first.","options":{}},{"type":"tool-call","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","name":"query","params":{"text":"Obsolete Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTP0","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTP0","name":"Obsolete Corp"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01CdFaYkNxxVVW5BCZkvf2Ni","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:18.209Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the organization \"Obsolete Corp\" with ID 01JGFJJZ00G0WKQSJGMAKCNTP0. Let me delete it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqICCmMIDhgCKkBwBilk+K33eMw1hukPhGhWXWxKTPZinUPLuMjd96FjE2ef+TwrrWfRfk/R6DGS9eKWoyMs8YPfVRI350XcgMfpMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDNUF5bCD4pBM6HHOexoMt5q7tXiTDbded28uIjDghKEVlJMMv1wovx8wzQ2oEXvZpI1RKRmCAPpVqRpCebqmEwt6EsA4gxKcDuSBqXYqbcDSKxfw6rcyIuzK+uhx6PrQbT+kf7oP+FbevROSxx1hfVyt/GYWK4j6Axd7jqYARHiMP02yINhPRknpArZ4aY5pkdTf9iIK4XDWqrgPv9itBg5JLg0iDBn2PMKaUWV5TU4BCIT3gz+/HxqxJNQYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Found it! Now I'll delete the organization \"Obsolete Corp\".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","name":"delete-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","delta":"{\"obj\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","delta":"\"01JGFJJZ00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","delta":"0WKQSJGMAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","delta":"TP0\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":143,"totalTokens":144},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":238},"cache_creation_input_tokens":238,"cache_read_input_tokens":7295,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 organization \"Obsolete Corp\" first.","options":{}},{"type":"tool-call","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","name":"query","params":{"text":"Obsolete Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01KWZWN9JF5ttNKuTfKzFAPP","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTP0","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTP0","name":"Obsolete Corp"}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found the organization \"Obsolete Corp\" with ID 01JGFJJZ00G0WKQSJGMAKCNTP0. Let me delete it.","options":{}},{"type":"text","text":"Found it! Now I'll delete the organization \"Obsolete Corp\".","options":{}},{"type":"tool-call","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","name":"delete-object","params":{"obj":"01JGFJJZ00G0WKQSJGMAKCNTP0"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_017BBi1iy8MGRf3wAqhuagRN","name":"delete-object","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01689eqxAJY4LkRTzHvgHVGo","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:21.219Z","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":16,"totalTokens":17},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":101},"cache_creation_input_tokens":101,"cache_read_input_tokens":7533,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01PcJL9tuT3n8JqLFrXuGt8L","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:24.298Z","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":"EowCCmMIDhgCKkBr6ZF6D7+FwA0kFy96/aj0//Yp51g83o7SKaBA84k4QeooyN6vSOI/pbn0p16qnlD03LjVtOeqS2lSwPin+zFkMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDMI8QN528AOvxn6FCRoMlIo6QV6WWiotC3USIjAupvw8eETjNvpTmnf7uQ06xIcb3/rOHeZYVKnoUCv5Ldm+ifnT89w/2P1uP0iiHa8qV/YZjztXVPKd+diJfN1gr2NaOIevuGUrGD/sUd7t+uGG72U6a6mkdrUtQv18fsD5R7xLh/pYMH0FecDBAjO5A5/kdXZf1sgUeJxaOaC0sNd6lzWC2yxFcxgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first find","metadata":{}},{"type":"text-delta","id":"1","delta":" the organization named \"Old Name Inc\" in the space.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01HshUcekNPNJ65qynqYfuxr","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"text\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":": \"Old ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"Name ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"Inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":", \"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"deCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"nt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"ent\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":" tru","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"li","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"mit","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":"\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01HshUcekNPNJ65qynqYfuxr","delta":" 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01HshUcekNPNJ65qynqYfuxr","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":7304},"cache_creation_input_tokens":7304,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":36,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 find the organization named \"Old Name Inc\" in the space.","options":{}},{"type":"tool-call","id":"toolu_01HshUcekNPNJ65qynqYfuxr","name":"query","params":{"text":"Old Name Inc","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01HshUcekNPNJ65qynqYfuxr","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTRQ","@type":"dxn:org.dxos.type.blueprint:0.2.0","@meta":{"key":"org.dxos.blueprint.database","keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTRQ","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNTRP"}},"name":"Database","tools":["org.dxos.function.database.contextAdd","org.dxos.function.database.contextRemove","org.dxos.function.database.load","org.dxos.function.database.objectCreate","org.dxos.function.database.objectDelete","org.dxos.function.database.objectUpdate","org.dxos.function.database.query","org.dxos.function.database.relationCreate","org.dxos.function.database.relationDelete","org.dxos.function.database.schemaAdd","org.dxos.function.database.schemaList","org.dxos.function.database.tagAdd","org.dxos.function.database.tagRemove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNTRX","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTRX","name":"Old Name Inc"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01FKjPM2MFEGo3DbevUToC2t","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:27.202Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the organization with ID `01JGFJJZ00G0WKQSJGMAKCNTRX` and name \"Old Name Inc\". Now I'll","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" update its name to \"New Name Corp\".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EsgCCmMIDhgCKkAIM7oWVpCDpDxihvDxAX65geNRQofkxqIrnWLAfdCbPn7wJeYySR2r/ZYOyL2W/yMd7mPGivNR3wjjaydwBDkaMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDLENARLC8sCUpo5ZphoMsnDfPqVBP/qvXQGCIjD95ozVexh0mRohKQvdd69AOwn7z4MY7jtmV2aXlpg9HGU03KwuyblDDJc7fGfdoZcqkgFLx6Xhym7Mcfd/5x9VuwPofCDA9j7ewVUGKzX68RAe4HI/JAn3BcLa/tXqGyXW5T60ViOgP4ZuybBNSaqaBGD/NoI6L3dLVcqgBsu8vTve3WtqsKVH45MvlgrCDd/9Obxa4cNE5nNPGKiZKUdk74WALKoQVRvj9KDVWLAXLqJROTA2lMcW5ptfr/ClSAAzD3DikxgB"}}},{"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","metadata":{}},{"type":"text-delta","id":"1","delta":" me update its name to \"New Name Corp\".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","name":"update-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"{\"obj\": \"01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"GFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"00G0WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"MAKCNTR","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"X\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":", \"prope","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"rt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"ies\": {\"n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"ame\":\"N","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"ew Name","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":" Cor","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","delta":"p\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":180,"totalTokens":181},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":598},"cache_creation_input_tokens":598,"cache_read_input_tokens":7304,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 find the organization named \"Old Name Inc\" in the space.","options":{}},{"type":"tool-call","id":"toolu_01HshUcekNPNJ65qynqYfuxr","name":"query","params":{"text":"Old Name Inc","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01HshUcekNPNJ65qynqYfuxr","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTRQ","@type":"dxn:org.dxos.type.blueprint:0.2.0","@meta":{"key":"org.dxos.blueprint.database","keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTRQ","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNTRP"}},"name":"Database","tools":["org.dxos.function.database.contextAdd","org.dxos.function.database.contextRemove","org.dxos.function.database.load","org.dxos.function.database.objectCreate","org.dxos.function.database.objectDelete","org.dxos.function.database.objectUpdate","org.dxos.function.database.query","org.dxos.function.database.relationCreate","org.dxos.function.database.relationDelete","org.dxos.function.database.schemaAdd","org.dxos.function.database.schemaList","org.dxos.function.database.tagAdd","org.dxos.function.database.tagRemove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNTRX","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTRX","name":"Old Name Inc"}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found the organization with ID `01JGFJJZ00G0WKQSJGMAKCNTRX` and name \"Old Name Inc\". 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_01SsPpeJDPbQzzpFmCfgoxRo","name":"update-object","params":{"obj":"01JGFJJZ00G0WKQSJGMAKCNTRX","properties":{"name":"New Name Corp"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SsPpeJDPbQzzpFmCfgoxRo","name":"update-object","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNTRX","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTRX","name":"New Name Corp"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01LuBS2QytzjqZfJTYCu7k2T","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:30.660Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" organization has been successfully updated! The name has been changed from **\"Old Name Inc\"** to **\"New Name Corp\"**.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":31,"totalTokens":32},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":248},"cache_creation_input_tokens":248,"cache_read_input_tokens":7902,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01HCqPPkmizixFj5kMomLgfr","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:40.742Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to search for all organizations. Let me first check what schema/typename","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" is used for organizations.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErkCCmMIDhgCKkBO6UCVGNX/uWwzFbGBcJMPBfae2VBru0FL9xbpg3F6/n84vQNZngNUAXcXfteoajgxPw99bmVQtAnhktTvFP5FMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDG+TyAEqkUEbaIIBjhoM7C3VazEH5qnC9BSDIjCitA10BXXdg4EGR7PYOx8Nfj4UFVt4mNOFW2IGKEqswfU3ppCPu2x8JoaqRf1w5/MqgwHfIekzRFDfS0Ugy0l+er27K3FmSWMhO6OL3Hjc/l0NvSSNSBhSkcw25a0PmW4rLRqwJ7SqWaa8fovp2TPKc8+MtBVHlo7JT1QSFhkgFqzSk5UDXcXW6aTvTf2QrF7WQkxjU/5EhcWKLrzkGTwcLPNjb1c7xo4x1vnkoL9TV8ciN5vRHhgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"{\"typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"ename\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"org.dxos.ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"pe.or","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"ganizatio","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"n\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":", \"incl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"ud","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"eConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"t\": fals","metadata":{}},{"type":"tool-params-delta","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","delta":"e}","metadata":{}},{"type":"tool-params-end","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":116,"totalTokens":119},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7296},"cache_creation_input_tokens":7296,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":25,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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":"The user wants to search for all organizations. Let me first check what schema/typename is used for organizations.","options":{}},{"type":"tool-call","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","name":"query","params":{"typename":"org.dxos.type.organization","includeContent":false},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01M9TQYoHfghNb8Pbv4u1YDr","name":"query","isFailure":false,"result":[{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTW8","typename":"org.dxos.type.organization","label":"Acme Corp"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTWA","typename":"org.dxos.type.organization","label":"Globex Industries"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01DCuxbhhAcV4TsBj28pRCEZ","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:43.355Z","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**\n\nWould you like to","metadata":{}},{"type":"text-delta","id":"0","delta":" see more details about any of them?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":45,"totalTokens":46},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":245},"cache_creation_input_tokens":245,"cache_read_input_tokens":7296,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTYA. What is its description?","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Y36kEbxMqYdDCNmk2Vw3fC","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:47.604Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to load a specific object and tell them its description.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EpACCmMIDhgCKkA7Y9fODXxvMuU7fx9k0R3YpCrkenmhff2vz3OQ3D8yVwERB9NQbM9NzKfJQkZwQ+x5INZyftHXIxMF+QTg1uS6Mg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDKnFvX/ilhj9WHXGHhoMgp6C169EO/xJJPTOIjB9aAiiyju5EnAKTP4GninG/8ceo8l4b4PxH8xIbqd4+J0ti3XRphoEWEa+4WnIDRcqW3GFuEklcYil4BPRYYoENEHbewEGPoumJWncIyk0N7iiycnkiP0mDz5jxs84LRTi6pOVTGZXdJvlIvk71sx6sG1/EkOBD8qsqmZU73Tee0kHenoav1o33CDCy1wYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","name":"load-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"{\"refs\": [\"e","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"cho://","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"BDJXMULP","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"W5FB55UZ7K","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"P5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"DHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"TX","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"UTHE2U/01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"GFJJZ00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"0WKQSJGMAKC","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"NTYA\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","delta":"]}","metadata":{}},{"type":"tool-params-end","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":135,"totalTokens":138},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7348},"cache_creation_input_tokens":7348,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":30,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTYA. What is its description?","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to load a specific object and tell them its description.","options":{}},{"type":"tool-call","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","name":"load-object","params":{"refs":["echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTYA"]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_011dbCXq2zCcTsMTgRUdm39e","name":"load-object","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTYA","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNTYA","description":"A detailed organization.","name":"Detail Corp"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_016NBgs1HmCXTM7xmUa5EThq","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:50.806Z","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 user with the description.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eo8CCmMIDhgCKkAKO58DywkcumBUoGdxdsLrEcGHq28WdU0Q2lvXuSkyTmdu6mZKxUnUCYDQgU9vLgDn00z8d7akrcdltN0AQPQSMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDLSDFEfLV5+sIONI7hoM8dzIcLB+8TIjGJ8+IjCQekTR2dJ7BMiPdQvlSPWJ/A1xqYgM5r0nUrzlu2dfR3RbMPE6++BU6dBPMYAcR9cqWn2eUdfI0ZIBCZSQGhvbGpZtU2ehxP0g+qkGCigXO3V3pdOI1qLS1lVuWTZiqbi5suGYKnisjBFzzoQGrXr+g6nRWKW6iniuBiZGQNHIMR3jZuR/+lKC3lKnGRgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Here are the full details of the object:\n\n- **ID:** `01JGFJJZ","metadata":{}},{"type":"text-delta","id":"1","delta":"00G0WKQSJGMAKCNTYA`\n- **Type:** `org.dxos.type.organization` (v0.1.0)\n- **Name","metadata":{}},{"type":"text-delta","id":"1","delta":":** Detail Corp\n- **Description:** *\"A detailed organization.\"*\n\nThe description of this object is **\"","metadata":{}},{"type":"text-delta","id":"1","delta":"A detailed organization.\"**","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":126,"totalTokens":127},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":242},"cache_creation_input_tokens":242,"cache_read_input_tokens":7348,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01Lx7yzdGqYapD2J9SUyw4jL","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:29:54.766Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to create a relation between a person and an organization. Let me first list","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" schemas to find the right relation typename, and also search for the person and","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" organization objects.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EogDCmMIDhgCKkCYkvhhuoqGCjqgJKdU1cDsgrD+oG0Q8BmI0oPK+k8GnPd+rKxAbCcAnzF+bp2aUWFQhBAljlp6dOAhiwATTZVlMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDEdno/Ck56bL0dXSARoMG2ONXjk9OE8x4BYhIjC0D7e48ziw/e+YhyK2OrWgrSfokUFEn7haJ/jRsDSa3b36zpOGHEZN032xhoXA7mMq0gFgROkF2lpnvnVC9yxBw2jwiee7Uav74YIrDdUJwMqOaxi+YUKRpk20HnOI4C4LTjETlFX1DlCP+mH9e/4s0e51f1lrxkJtZMiLe+rDemyq+I4BnhFrPu1yu6kD0iY1mWKq/6b9pGlxvoeQw12nUTikgjfFOG9OvW2pam6XdTwK3ZQvJiGrN4rKGlkgcLW00vo+wKE2QgnehyUWYhRhsT8MDJClZWvdRQrUK6IFTi5swKnkDbk3FIIwPW7xTkz2uO2oabmVFmiF5R3kldTp7128V70YAQ=="}}},{"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 searching for both \"","metadata":{}},{"type":"text-delta","id":"1","delta":"John Connor\" and \"Cyberdyne Systems\" in parallel.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01EFcyt6Sf7NzFaQ9hu1y5uJ","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01EFcyt6Sf7NzFaQ9hu1y5uJ","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01EFcyt6Sf7NzFaQ9hu1y5uJ","metadata":{}},{"type":"tool-params-start","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"{\"tex","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"t\": \"Jo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"hn C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"onnor\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":", \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"ncludeConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"t\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":", \"li","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","delta":"mit\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","metadata":{}},{"type":"tool-params-start","id":"toolu_016tvorsFAFXeGTimBhWRKB6","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":"{\"text\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":"Cyberdyne","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":" System","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":"s\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":", \"includ","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":"eContent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":": tr","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":"ue","metadata":{}},{"type":"tool-params-delta","id":"toolu_016tvorsFAFXeGTimBhWRKB6","delta":", \"limit\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_016tvorsFAFXeGTimBhWRKB6","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":260,"totalTokens":263},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7320},"cache_creation_input_tokens":7320,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":26,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 a person and an organization. Let me first list schemas to find the right relation typename, and also search for the person and organization 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_01EFcyt6Sf7NzFaQ9hu1y5uJ","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","name":"query","params":{"text":"John Connor","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_016tvorsFAFXeGTimBhWRKB6","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01EFcyt6Sf7NzFaQ9hu1y5uJ","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_01Cb7edJkozVC3u3VXaEBLnW","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV0J","@type":"dxn:org.dxos.type.person:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV0J","fullName":"John Connor"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_016tvorsFAFXeGTimBhWRKB6","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV0M","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV0M","name":"Cyberdyne Systems"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_015bRxTvHjQ7bQPqha5WnsZM","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:00.098Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" found everything I need:\n\n1. **Relation schema**: `org.dxos.relation.employer","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"` — source is a person, target is an organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Properties include `role`, `active`, `startDate`, `endDate`.\n2. **John","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Connor** (person): `01JGFJJZ00G0WKQSJGMAKCNV0J`","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n3. **Cyberdyne Systems** (organization): `01JGFJJZ00G0WKQSJGMAKCNV0M`\n\nNow I'll create the relation.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqYECmMIDhgCKkD9FnmcnwlNjXz5dn6H3/Sqyr6pUS2ioGRIrLzPc2F2X6ITFbFXSOwGbfooLiSZgG0E2nsZfIiYacCWmxsKB1oBMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDAUkNqfh+0wfM/6uCRoMF0MXUwwmfNE6abSGIjDQnpcW7fjoK9bgvkDPq6OJUcULuFkZhDqPU1/eAl/AICs3IV1D4yy5jWZfowYuvrgq8AKEw5y8S1MYNz/gyQB3PmD5MeKgxf8As/Qu8gaAKNpBy3eylp1ZxMWKIUl2S57yaCIyM+TqfAb2iwg+90YBbBQdwZBkmVz0NViVK7uYatf+JZzHF9Hn4Gti7xJ3j10SqxGpQfEECK5H86Eq6pR65sOY6bi13jYlpBYo9aZLYxmLoGDy/CC+xosH24I92boWHi2TVxA2M3ukLjq/gh/+MNec53kde2l6Ln1jsRKy8+NZjm2NZfPvXHO/+w1GKluqrZgZObyZmAdclD1m5/9HlV8JfTuIn3x5Ug/4CjMKUHMSHp8azUAdxghkPtAYecdtu1hodeI4euS7j6CdAKsq8FWMyKTZtBj9ap1Qkn6/3AAzDODinyAReU4frbd/cE5bBRlHJOcLqq8vKPCXTNyDL2gddxLMjY+J47QrcQ5hEMPfJa1BeLQhVm1Su2L49lMywXmNRRODsAEuQ+uhyELZ7tHqUzNklVmiESGdGeCMrT3AdRgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the relation schema `org.dxos.relation.employer` and both objects:\n\n-","metadata":{}},{"type":"text-delta","id":"1","delta":" **John Connor** (Person): `01JGFJJZ00G0WKQSJGMAKCNV0J`\n- **Cyberdyne Systems** (Organization): `01JGFJJZ00G0WKQSJGMAKC","metadata":{}},{"type":"text-delta","id":"1","delta":"NV0M`\n\nNow I'll create the Employer relation from John Connor to Cyberdyne Systems with the role \"","metadata":{}},{"type":"text-delta","id":"1","delta":"Engineer\".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","name":"create-relation","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"{\"typename\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":": \"org.dxos","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":".relat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"ion.em","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"ployer","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":", \"sourc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"e\": \"01JG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"FJJZ00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"SJGMAKCNV0J","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":", \"tar","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"get\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"01JGFJJZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"G0WKQSJGMAKC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"NV0M\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":", \"propert","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"ies\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":" {\"role\":\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","delta":"Engineer\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":419,"totalTokens":420},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4488},"cache_creation_input_tokens":4488,"cache_read_input_tokens":7320,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 a person and an organization. Let me first list schemas to find the right relation typename, and also search for the person and organization 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_01EFcyt6Sf7NzFaQ9hu1y5uJ","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01Cb7edJkozVC3u3VXaEBLnW","name":"query","params":{"text":"John Connor","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_016tvorsFAFXeGTimBhWRKB6","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01EFcyt6Sf7NzFaQ9hu1y5uJ","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_01Cb7edJkozVC3u3VXaEBLnW","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV0J","@type":"dxn:org.dxos.type.person:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV0J","fullName":"John Connor"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_016tvorsFAFXeGTimBhWRKB6","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV0M","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV0M","name":"Cyberdyne Systems"}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found everything I need:\n\n1. **Relation schema**: `org.dxos.relation.employer` — source is a person, target is an organization. Properties include `role`, `active`, `startDate`, `endDate`.\n2. **John Connor** (person): `01JGFJJZ00G0WKQSJGMAKCNV0J`\n3. **Cyberdyne Systems** (organization): `01JGFJJZ00G0WKQSJGMAKCNV0M`\n\nNow I'll create the relation.","options":{}},{"type":"text","text":"I found the relation schema `org.dxos.relation.employer` and both objects:\n\n- **John Connor** (Person): `01JGFJJZ00G0WKQSJGMAKCNV0J`\n- **Cyberdyne Systems** (Organization): `01JGFJJZ00G0WKQSJGMAKCNV0M`\n\nNow I'll create the Employer relation from John Connor to Cyberdyne Systems with the role \"Engineer\".","options":{}},{"type":"tool-call","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","name":"create-relation","params":{"typename":"org.dxos.relation.employer","source":"01JGFJJZ00G0WKQSJGMAKCNV0J","target":"01JGFJJZ00G0WKQSJGMAKCNV0M","properties":{"role":"Engineer"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01AU6R8gdNXrAZqyjejyh7Fx","name":"create-relation","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNV41","@type":"dxn:org.dxos.relation.employer:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV41","@relationSource":"echo:/01JGFJJZ00G0WKQSJGMAKCNV0J","@relationTarget":"echo:/01JGFJJZ00G0WKQSJGMAKCNV0M","role":"Engineer"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012e23T9emdvoGXH4eybYpZ1","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:07.809Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" relation has been created successfully.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvEBCmMIDhgCKkCyULCBMX2+WL0XvwtEftLsPezDu813ja/q9w346K7Y6HbLPpFUUOLs7nFo+8YGbCrSKbkdH6Rt4lqQrFRoWHJyMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDEiBQ51TX6h/Ah2RThoM8q5oiBRgpYoSu87PIjBUA8JhTr695ZqYKe10lM2VkMMi3cQwNzGdbgeiOm3YNnjqZouqJkln3pJHnDeDJXoqPBlzyeNgyoePvzCuM5927oZfb2ldI7/JKYchMCRCZijltGwiet0HHsMa3fyRWhVaGv1BddKIIigQgschrxgB"}}},{"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","metadata":{}},{"type":"text-delta","id":"1","delta":" Connor |\n| **Target (Organization)** | Cyberdyne Systems |\n| **Role** | Engineer |\n| **Relation ID** | `01JGFJJZ00G0WKQSJGMAKCNV41","metadata":{}},{"type":"text-delta","id":"1","delta":"` |\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":162,"totalTokens":163},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":459},"cache_creation_input_tokens":459,"cache_read_input_tokens":11808,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV5G.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01VGKea5XJH27gHhCrfYeJaw","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:12.037Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to delete a relation with the specified URI.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoECCmMIDhgCKkAawrAShaEbsLMskCIDUZ5aSzRVth1ubboS0J2mK2UNoj8LdB97qvGHKMfRzPGP/v2/EPOIY+Mp/d1QKFouZjQcMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDCoU7JRkVGFOMmdmHRoMna9FtC5ueR5XvGlNIjA6PaV85gUpCss5eVcaod6hBKiQQHSVXMujvCW23lpLpNGad9pZX3JIuocHB1A+ubsqTNpn7aOpQ8X9nAaJRt/NHeYSqD+7Lj94vutHkIRAy2Op9GcPdFhkhVJWjaoMOl6N6owKH5rk5rl97VokI/uyi9/n4UoZHl6b9dfDiLcYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","name":"delete-relation","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"{\"rel\": \"e","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"o://BDJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"XMULPW","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"5FB55UZ7KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"5HLD","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"HVTXUTHE2U/","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"01JGFJJZ00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"SJGMAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","delta":"V5G\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":132,"totalTokens":135},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7342},"cache_creation_input_tokens":7342,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":36,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV5G.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to delete a relation with the specified URI.","options":{}},{"type":"tool-call","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","name":"delete-relation","params":{"rel":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV5G"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_017mkosANSfEXEZ9jAjG3KsZ","name":"delete-relation","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01TBH365UJ1LQXSLbL4JFAUu","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:17.335Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" relation `echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV5G` has been successfully","metadata":{}},{"type":"text-delta","id":"0","delta":" deleted.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":64,"totalTokens":65},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":119},"cache_creation_input_tokens":119,"cache_read_input_tokens":7342,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01TYTq4tFQNrkQNhyRq5oVmA","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:19.579Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I need to find both the \"important\" tag and the \"Tagged Corp\" organization. Let me search for both","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqkCCmMIDhgCKkAe9/78cKbEYg4dHTAmi41rmgkPJfv3hol5C8gbpy5cznibPKRLbHNx2xTxhATvzx8mfoib8hmqVa1/6i8lEcY5Mg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDEkyTKghOOuPMJ6BxhoMJdluaHbA/1V68B1HIjDFHnDSWlVU9LgqBylpI1wAtb+7h+jH7pvWSNaPbvWcVculEEO5XZ5PWH/gF8jS2aQqdBlS+8qN5/+uZPG5gVs+QWsm8O9jUQeAsCuyRsMjfXM+Y8NZCylDmLxu3UM8GqD9zCCNcx+pZrff2/c5gVEV5b8SxaB/YQryZMQi7xPGOV9eB+cD5OnCFl4EcViUrArmjBsjTi9mVQmm61STpprIf5HRCnaOGAE="}}},{"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\" organization simultaneously.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_018AUNLjt4DVELbnKqduZmjp","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"{\"ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"pename\": \"or","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"g.dxos.type.","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"tag\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":", \"text\": \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"mportant","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"ludeCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"ntent\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"true","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":", \"lim","metadata":{}},{"type":"tool-params-delta","id":"toolu_018AUNLjt4DVELbnKqduZmjp","delta":"it\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_018AUNLjt4DVELbnKqduZmjp","metadata":{}},{"type":"tool-params-start","id":"toolu_017HnTYi4zwQ83sfEURknmVv","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":"{\"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":"xt\": \"Tag","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":"ged Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":", \"includeC","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":"ontent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":", \"limit","metadata":{}},{"type":"tool-params-delta","id":"toolu_017HnTYi4zwQ83sfEURknmVv","delta":"\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_017HnTYi4zwQ83sfEURknmVv","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":243,"totalTokens":246},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7298},"cache_creation_input_tokens":7298,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":31,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 \"important\" tag and the \"Tagged Corp\" organization. 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_018AUNLjt4DVELbnKqduZmjp","name":"query","params":{"typename":"org.dxos.type.tag","text":"important","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_017HnTYi4zwQ83sfEURknmVv","name":"query","params":{"text":"Tagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_018AUNLjt4DVELbnKqduZmjp","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7H","@type":"dxn:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV7H","label":"important"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_017HnTYi4zwQ83sfEURknmVv","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7F","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV7F","name":"Tagged Corp"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01EdBmG9xhua9Hz4VBjjjmak","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:23.495Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" both the tag \"important\" and the organization \"Tagged Corp\". Now I'll add the tag","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" to the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErICCmMIDhgCKkAxtC1cyJCmFldNX6hswCAsZONiw+PxiV45ejZfozh6QFcDnftijd1LKHrZpF5LTkEXVANsn9XSM9tPd82TP2QhMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDKezO7OI4ND9laJ7mhoMBe3uAr8KjlG7q+BwIjBwanPe4+HPDUnzI47P2XrT990XWB5aM65ohLtOoDYlE+1zfD+hvxMgHW1RyhwQpyAqfZxSmWhAlqJ0SfPgU0T32nrgo0wrenqNW4p2Logp7nxADcG555j+8daHF2AKbpjXgKtl/dWArTNIHOpscBzR2zx2YivXTLuAaNIY8tqZLSJVU3xHmtzmvvP04QLhfj6Z82uo8FUPlTXyAsXmEfcAi/nGdet3yIO1wQ51rb+0GAE="}}},{"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. Now I'll add the tag","metadata":{}},{"type":"text-delta","id":"1","delta":" to the organization.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","name":"add-tag","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"{\"ta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"g\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"01JGFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"SJGMAKC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"NV","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"7H\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":", \"obj\": \"01","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"JGFJJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"Z00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"G0W","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"KQSJGMAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","delta":"V7F\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","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":503},"cache_creation_input_tokens":503,"cache_read_input_tokens":7298,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 \"important\" tag and the \"Tagged Corp\" organization. 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_018AUNLjt4DVELbnKqduZmjp","name":"query","params":{"typename":"org.dxos.type.tag","text":"important","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_017HnTYi4zwQ83sfEURknmVv","name":"query","params":{"text":"Tagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_018AUNLjt4DVELbnKqduZmjp","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7H","@type":"dxn:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV7H","label":"important"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_017HnTYi4zwQ83sfEURknmVv","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV7F","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV7F","name":"Tagged Corp"}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found both the tag \"important\" and the organization \"Tagged Corp\". Now I'll add the tag to the organization.","options":{}},{"type":"text","text":"I found both the \"important\" tag and the \"Tagged Corp\" organization. Now I'll add the tag to the organization.","options":{}},{"type":"tool-call","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","name":"add-tag","params":{"tag":"01JGFJJZ00G0WKQSJGMAKCNV7H","obj":"01JGFJJZ00G0WKQSJGMAKCNV7F"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01AKcnqqVQfK2CKtTe2TYTe3","name":"add-tag","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNV7F","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":[{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNV7H"}]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNV7F","name":"Tagged Corp"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01EjXBvgM6kmq3UGtFY1FMJT","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:27.403Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! The tag **\"important\"** has been added to the organization **\"Tagged Corp\"**.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":24,"totalTokens":25},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":302},"cache_creation_input_tokens":302,"cache_read_input_tokens":7801,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01WMHCUWMVC3PHyqpLWtfDab","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:29.726Z","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 search for both","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqoCCmMIDhgCKkBDC3z4eB/vwosmyhcqLcRqxGShGkBSfcGQ5M6xvWRQMuqNWRnWGp5r8xsbnKQBmGrtmOmyGFMkaW76+/JEebovMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDD7KuKp0zOj109CqzhoM8QiejMD8fwsWrQvPIjAou6CMAuvgXqQN1D3BKY/J7rj2xNK1hlnrrKIRAmjGyZpwNS/JDRrIkJQpEJm3hzkqdUdz/w6yipf3CYR2Vs4/mh+8ALO8308B94q1sAhECBLbFTQyN1yjCeIBN3Gq9FjwHbKkbwck0R8CcKw+bAQM906319Ml/ivpQlQZKP4ONHbLDn5Ufp527brbOTTqrU5PL9rMAw281wF/+5HtWunbbfZ4tje40xgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll search for both the \"obsolete\" tag and the \"Untagged Corp\" organization simultaneously.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"{\"typenam","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"e\": \"org.d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"xos.typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"e.tag\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":", \"text\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"obsol","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"ete\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":", \"in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"clude","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"Content\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":", \"li","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","delta":"mit\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","metadata":{}},{"type":"tool-params-start","id":"toolu_01FZRTHzqKigstDNMowyHoUr","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":"{\"text\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":"\"Untagg","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":"ed Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":", \"incl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":"udeConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":"t\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":", \"limit\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FZRTHzqKigstDNMowyHoUr","delta":" 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01FZRTHzqKigstDNMowyHoUr","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":255,"totalTokens":258},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7302},"cache_creation_input_tokens":7302,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 both the \"obsolete\" tag and the \"Untagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","name":"query","params":{"typename":"org.dxos.type.tag","text":"obsolete","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01FZRTHzqKigstDNMowyHoUr","name":"query","params":{"text":"Untagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVBD","@type":"dxn:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVBD","label":"obsolete"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01FZRTHzqKigstDNMowyHoUr","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVBB","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":[{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNVBD"}]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVBB","name":"Untagged Corp"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01ReW7u5XfKkFzFpuB8wTyXY","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:33.896Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" found both:\n- Tag \"obsolete\": ID `01JGFJJZ00","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"G0WKQSJGMAKCNVBD`\n- Organization \"Untagged Corp\": ID `01JGFJJZ00G0WKQSJGMAKCNVBB`\n\nNow I'll","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" remove the tag from the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvYCCmMIDhgCKkBimhBXYBBn7KGG2Pyf+b5N7ZT7/CUnrrEaH1QD9ILrl2/mQHrgs2u6AKzFPnJHPvS66JMpJTfrbc2O7Fpa5MNSMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDKtscHeR9mbgSroesxoMEeqsOhEMjDKcUubzIjBtZlIcXqsxaoxoepmFqkWqGLv1ruuMXhr7ZkWif6+5BmHw6hSTxDPj0IS7khfX44UqwAGlPX2Yj1EKQ8sCSu40Uxl/H/BCsd+3FK0v/XNRd3lcauzMrkj/TzIx9J+PpfitHh9RzoUiKLlBhtms1qB/kGh9qTrFcFcpM4zAnskLaigORl1+Mjt1/krf+ayxucyP5NMYy9UO6HutFG7UOmXVsjPjwIaGCnz9xa/5fNgbKoRqWuCqc/jh05GNHiUOE+uGYvwyd2hmbGTcIA3Uyt0U/ailMD2BrIkpJDFnFZ0n6t5/QLh9k+B0lwAQ5bm4xaAAQfsYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found both the \"obsolete\" tag and the \"Untagged Corp\" organization. Now I'll remove the tag","metadata":{}},{"type":"text-delta","id":"1","delta":".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","name":"remove-tag","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"{\"tag\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"\"01JGFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"JZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"G0WKQSJGM","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"AKCNVBD","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":", \"obj","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":" \"01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"GFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"JZ00G0WKQS","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"JGMAK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","delta":"CNVBB\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":233,"totalTokens":234},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":542},"cache_creation_input_tokens":542,"cache_read_input_tokens":7302,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 both the \"obsolete\" tag and the \"Untagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","name":"query","params":{"typename":"org.dxos.type.tag","text":"obsolete","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01FZRTHzqKigstDNMowyHoUr","name":"query","params":{"text":"Untagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01BxEGmkYsVXgu3cD2MH5RGS","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVBD","@type":"dxn:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVBD","label":"obsolete"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01FZRTHzqKigstDNMowyHoUr","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVBB","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":[{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNVBD"}]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVBB","name":"Untagged Corp"}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found both:\n- Tag \"obsolete\": ID `01JGFJJZ00G0WKQSJGMAKCNVBD`\n- Organization \"Untagged Corp\": ID `01JGFJJZ00G0WKQSJGMAKCNVBB`\n\nNow I'll remove the tag from the organization.","options":{}},{"type":"text","text":"I found both the \"obsolete\" tag and the \"Untagged Corp\" organization. Now I'll remove the tag.","options":{}},{"type":"tool-call","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","name":"remove-tag","params":{"tag":"01JGFJJZ00G0WKQSJGMAKCNVBD","obj":"01JGFJJZ00G0WKQSJGMAKCNVBB"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01WXG7ssJ3wcymGhr4Tsxd5r","name":"remove-tag","isFailure":false,"result":{"id":"01JGFJJZ00G0WKQSJGMAKCNVBB","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVBB","name":"Untagged Corp"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_015fKzZGRgs7hny3eXQHyV9b","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:38.040Z","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 the organization \"Untagged Corp\".","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":25,"totalTokens":26},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":270},"cache_creation_input_tokens":270,"cache_read_input_tokens":7844,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01Jg1uanV3zuYRsA2orAyKnp","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:41.141Z","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. Let me first search for it in the space.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EsACCmMIDhgCKkAwNFTMj2TNVkH6ffHcFupchhrmes2sMUL1LRYVdosDoXIDUJbZIH/pl24JGZvvxKZ5mjTBcx7q1DundmVw5W+hMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDAjsLz1hcHZcqjpIxRoMXRLxaqcm3FbEjxazIjBty+sgjcNlcGXmPG2MJGLX7USoUiRQwCSFYFsKuc7o+/dU3Nc8gXolmPB/wTvTn9sqigG2dGN+XfkH1Np47i9Rz4xfRm5r0HAHakVXydC4Rk6dFNP6+chWz6xLAbAWrNy9mz3z+kA3RTVYJSbInKHem35uBzgxNYh0YqptfT2x4OTJp0JglUdEjA98F66uNiJvCZ0c3lbt5W1824IttoVEztwRPBsbMPBMymmGlVEI65kKTQObzDNIKNdP6xIYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me search for the organization \"Context Corp\" in the space first.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":"{\"text\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":"Con","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":"text Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":", \"inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":"ludeContent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":": false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":"limit\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","delta":": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":147,"totalTokens":150},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7298},"cache_creation_input_tokens":7298,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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. Let me first search for it in the space.","options":{}},{"type":"text","text":"Let me search for the organization \"Context Corp\" in the space first.","options":{}},{"type":"tool-call","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","name":"query","params":{"text":"Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","name":"query","isFailure":false,"result":[{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF0","typename":"org.dxos.type.text"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF1","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF7","typename":"org.dxos.type.organization","label":"Context Corp"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01KKdtVUutCciyarGgjtbMYr","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:43.821Z","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 `echo://BDJXMULPW5FB55UZ7KP5HLDHVT","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"XUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF7`. Let me add it to the chat context.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuYCCmMIDhgCKkC+aNG+oXfjKp3AktBp476n1xPt4EyBkzbxByhOC79+JGbWPqxxHK8UGi4TJLm6ve1yBeMptw0GJBzXuDn0sEJUMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDEX79Vx7hM/R4fJGWhoMBh5rgByUuH4nMP+3IjD7n6IgubHQcNhimWhlKEHT3xcZQreMlcg5vkoPGIoGp12tfEUdkadID7jUa/qjDsQqsAEbIes30wgcyQctftcZRRsfcujfMQ9Kxx3dPzifSs8H3DTmK+McT/a5wUvoPt6Gw+AhULy6VaeLUMiFkl7SlMq3xzJjri2MM1VXV+9V6rN8BiK10dRl0ynmzC0i7P1nFyOe2JAE7KXcVNPaAJe5NFuERKRH+QUlSI04kx0ArHEG6mzD88JEb+Pwurp2zDGW5f+g0A1WvKHV9/RAoXKTwhNVH0syenbMWLYLKtvvW/rncxgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Found","metadata":{}},{"type":"text-delta","id":"1","delta":" it! Let me add \"Context Corp\" to the chat context now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","name":"add-to-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"{\"obj\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"\"echo://BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"MULPW5F","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"B55UZ7K","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"P5HLDHVTX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"UTHE2U/01JG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"FJJZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"G0WKQSJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"GMAKCNV","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","delta":"F7\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":215,"totalTokens":216},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":338},"cache_creation_input_tokens":338,"cache_read_input_tokens":7298,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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>echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF7</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. Let me first search for it in the space.","options":{}},{"type":"text","text":"Let me search for the organization \"Context Corp\" in the space first.","options":{}},{"type":"tool-call","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","name":"query","params":{"text":"Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01FT1tNN9g2kgTYc5k9ffD2k","name":"query","isFailure":false,"result":[{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF0","typename":"org.dxos.type.text"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF1","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF7","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 `echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF7`. 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_01WFbKcDE7vg5ub9KFUJvqeu","name":"add-to-context","params":{"obj":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVF7"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01WFbKcDE7vg5ub9KFUJvqeu","name":"add-to-context","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01BhgpcfpYXi3gFDK6Yrn5Wh","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:47.717Z","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. It will now be available for reference","metadata":{}},{"type":"text-delta","id":"0","delta":" throughout our conversation.","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":7864},"cache_creation_input_tokens":7864,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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>echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA</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_01MEcrRDpEKpfyefJ1ByYdEt","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:50.846Z","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 DXN `","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA`. I'll","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" remove it from the context.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErcDCmMIDhgCKkANa20dtd8k+SF0eO9ApUm7LfpHpVo11OU290pemlhCbaxpj75pQnaVB1IlEFZ3mPaPOZf46XZhZTB89KYkdd96Mg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDCw/5FG0l5R4nPRm8hoMcdSnJTHTIbwQ8aIjIjB8RavADVgOmTqMHSzeEZ7K8Xyf0xEKflJgeXzIcAhHd09l5MVE8FOdwlYE+ePct8UqgQKc6hFs/n3E1DBPhNxQYMR9z2/4tZcMCZGnu+AUqVCHOAYVBWWdTpLu8Uxap7SrZmXAYmq39Y6BocWmmVYCf0hwyHjuKVkm56DKOQI5VgbmABsQ4zFu+51+k6hj29SBjxVbeO97pqGZZOoO4fHqN9AGaPLEMfjqcxE7ni349VbYhNbgK+q7iHKGH5ndynZh7lov6BL2KGCVRszqStb51x0BWnt50NNWmflEge2Pb1AXMAcdoUCe6+W7Dsz8edQUjHxNC0afxl0SeyK8mtQS2aJX3nRiOp4K86KUg/00ezZYaGA4mymSTeR/QP7gAfbCve+jFvfjCYRCgV9TEUPRBBIhYBgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","name":"remove-from-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"{\"obj\": \"ech","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"o://BDJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"XMULPW","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"5FB55UZ7KP5","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"HLDHVTX","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"UTH","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"E2U/01","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"JGFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"JZ00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"SJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"MAK","metadata":{}},{"type":"tool-params-delta","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","delta":"CNVJA\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":209,"totalTokens":212},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7391},"cache_creation_input_tokens":7391,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":36,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 `echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA`. I'll remove it from the context.","options":{}},{"type":"tool-call","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","name":"remove-from-context","params":{"obj":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","name":"remove-from-context","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01CkX2UEhdTpxnvS3bvkXb6t","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:30:54.622Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"It","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" seems the function returned an empty result, but let me check -","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" I don't actually have information about an object called \"Remove Context Corp\" in the context. Let me search","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" for it.\n\nWait, I just made a call without","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" knowing the actual ID. Let me reconsider. I don't have the object ID for","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" \"Remove Context Corp\" in my context. I should search for it first.\n\nActually, looking at this","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" again, I made an assumption about the object ID which I shouldn't have. But the function","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" did return successfully (empty result typically means success for removal operations","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"). However, I fabricated an ID which is wrong.\n\nLet","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me reconsider - I should search for the organization first to find its ID, then remove","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" it from context. ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n\nThe","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" function returned without error, but I need to be honest - I don't actually have the object's ID in my current","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" context, so I should search for the organization first to find its actual ID before attempting any","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" removal.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErkMCmMIDhgCKkB2q41LYcPNBjjpZMDZyArxveRAP5xtN85Yc4c4tSXktOAv+UeIBtIGL9nMXBwHHZkmnvuIYerG9c+z9fiUUKb9Mg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDCdkCG8yzWm2swQq5hoMEcyq1tAhZDvytufmIjC18Zprq6Z7xKoZNkwompd7z4jKTe7gRSw9SCO9SIxzGd3KEIfOLEtEJ7SAnN7LSmMqgwtDGh9KnHy2a8SdN7QX12KvQ1W+PmQF/EjYYwN/UOG3ESwMsVhMnl3XTJ1oRM5ZZTYCJLKvjNVow6kdquGcuguEdtxse5k48Kd/Mh6EE/TqkVk8ha7Dv1Clen9tDejoWL5D+TWk0REJp1nnREXSsd+/QGLkegwvD5pkzNAAdl7Cb62Q2tz7GKpRHrQjfhggRxBN3m5IOHWmWoo65AIpTYhDl6H9GcB0RIrEyC593mHVBGFw7gj3iUa+Fg1o2zAf2UUk4lRYkmSgoWxdJDkY5m6IaKy7thWdK9l9dfRO4S93t73mbvV/wnhGaTm0ZeybHZy4DMYmaSIhHiLB9IV1Y4ByXphiahymJySuukcU68cpgnMFWSYM0054aIskTjiCW0oBf41osL5/2YK5W+o5JGYpBlRFIO2P540A7jyo+MR8+NNWfulOQnGbTUrbVp4CmR6IVCFqPt0S7+FQTNDethgrdCWg5ET8ZOlDx/kx8Ub+yr7lHg4mbd+6Cw1TIkBOrbeTaseVHeqyAVDbHNkgGGfQtzjUcd954ASyj8Iv7O3dB+3puSAsmq05ZsdqZbC8WyrsTNUpQtC5z6MSDExjtWXb4/499JEaOglRaAZLX/HVJzHwBVJ6iRGRQBsuhALFYXxTc8PHl7uhe6Gdz6mx/yTylktLKvsUaN+G0Jh6o2cuBvQgS7dkSGltRMLm2q08URoGfK9U7EV1jRqcgmITHheaAjKUGpH4GOxE+m7x6kbnlIoK0+t2iRIGaH2u/DyF4KvKdwoINEhSWmljwL+M1DMEftDHdUVviXCnUupEbfYfgDuQxB+phGQJA+Dc6D5dixKeWfqPR6hB8tRnuO4krjM54SPRBf4P5ssYYgxg0hhdEi475CtJsoMIMGyxqyzj/Ly6y6dMmswicw4KxewHqyFmhaxoMx/9dxOg59ayRceiBLDWalOeWQ0hAtzv/CTQHCsm3oK0+Y27wC/gBgU4uq1JGKhvfRTYYjAVjOQyQWTXu66izAhFOAOZNuVh7bw7Z2+WfNARMHJCNbv3EtyspCrcU+u4koQQl37PSedODE4Uhp8s95CRUkfqMm3VBss7dBwIi63leCprW1YNA5nFNyKjIFGebQb6bE+Utxr2OYd5vJkc9oOnoAZfdmiZw5PLcluH+18EEBWFK9jVYpTkN6DfTGDS71hMmXfolztN6m0YeH6jtjudRhVuORfucZgqnTAwuzq00UR/k63i2mOuJ0mH0h0m5AnPn2QCZfF3ERt/IYbtG55jY9hVTl2WfspM0/7kset8/RCum95UVjrRoZ7csgeR9lgH3OEe291pe6OCOr55ODMcGvKuWfbHAsZdRJRvzcECungm9X4ZxhHQByChamVcFTnjoeSVhv2U8Zeqi17ks73qSsxP3PdwfMyAttteL3Wd+nvcqWXYvk2G2LRquj/D61Hfi/j2pphHibehWnwphzfkO+0883N9bsX6VbxwH6c+/lDDz7PL/jNplE+MlLYleva9HkCDMRfuJ0L+g33pA3JFCkBpYltK6scpI1AkpSR7qwBt+rFWm5UM8zhNEUxSf2p+t1acq7a2KNMhD76Rs6f4NnqdUCHvdD8bis44G3avxdu2X5X/NZd4zBrnxQyDoy7LBNTmDhflqEHOJdslczjNMD9Qm08DDmYmKQcFWMPFVQllMY7+wlHqxr62SUqzEHCuacvXro5F4J7LJxYVzx/0Y7mIxMT5yU3XmndUOGWanDxSUfPGmd5FPlPADEp69B37AxDtU/bPy9Y44oA5/txhsqK6m5UQQx6CjFXCeWapx6Yvboz5e9d9ph6B4cSnhTDpGcRqVZgImKq/sFvRsqXUdp1FU9CV1B2/a6uN0rxWLhei8oyFBij+08nv9O67GAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I need to first find the actual","metadata":{}},{"type":"text-delta","id":"1","delta":" object for \"Remove Context Corp.\" Let me search for it.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"{\"text\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":" \"Re","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"move Cont","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"ex","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"t Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":", \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"ncl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"udeConte","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":"nt\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":", \"limit\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","delta":": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":438,"totalTokens":439},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7419},"cache_creation_input_tokens":7419,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 `echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA`. I'll remove it from the context.","options":{}},{"type":"tool-call","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","name":"remove-from-context","params":{"obj":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","name":"remove-from-context","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"It seems the function returned an empty result, but let me check - I don't actually have information about an object called \"Remove Context Corp\" in the context. Let me search for it.\n\nWait, I just made a call without knowing the actual ID. Let me reconsider. I don't have the object ID for \"Remove Context Corp\" in my context. I should search for it first.\n\nActually, looking at this again, I made an assumption about the object ID which I shouldn't have. But the function did return successfully (empty result typically means success for removal operations). However, I fabricated an ID which is wrong.\n\nLet me reconsider - I should search for the organization first to find its ID, then remove it from context. \n\nThe function returned without error, but I need to be honest - I don't actually have the object's ID in my current context, so I should search for the organization first to find its actual ID before attempting any removal.","options":{}},{"type":"text","text":"I need to first find the actual object for \"Remove Context Corp.\" Let me search for it.","options":{}},{"type":"tool-call","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","name":"query","params":{"text":"Remove Context Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVJ3","@type":"dxn:org.dxos.type.text:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJ3","content":"You can query, create, update, and delete objects in ECHO.\nYou can manage schemas, relations, tags, and add objects to the chat context."},{"id":"01JGFJJZ00G0WKQSJGMAKCNVJ4","@type":"dxn:org.dxos.type.blueprint:0.2.0","@meta":{"key":"org.dxos.blueprint.database","keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJ4","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNVJ3"}},"name":"Database","tools":["org.dxos.function.database.contextAdd","org.dxos.function.database.contextRemove","org.dxos.function.database.load","org.dxos.function.database.objectCreate","org.dxos.function.database.objectDelete","org.dxos.function.database.objectUpdate","org.dxos.function.database.query","org.dxos.function.database.relationCreate","org.dxos.function.database.relationDelete","org.dxos.function.database.schemaAdd","org.dxos.function.database.schemaList","org.dxos.function.database.tagAdd","org.dxos.function.database.tagRemove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNVJA","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA","name":"Remove Context Corp"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01AvPpjWm3LX3zoxPZAYjfaS","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:06.629Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" it. The organization \"Remove Context Corp\" has the ID `01JGFJJZ00G0WKQSJGMAKCNVJA","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"`. Let me remove it from the chat context.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EsgCCmMIDhgCKkAOTCXooKVyr2V0WIiZcc77PHAq3ATegERXIl1TfUVBFPj/+YEahVnPGg8mCm1LgacVwbndpeXxTN/0Qt4RwpIXMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDIjcX938Xjd6fJKOxxoMAxC91PBdN11fpUdxIjAbjQZVY5sQnV1cCXmNWZJISkCUdiAz6QbB5nnS9RjMqxrnkcMTAiVzTNrJZVE2YfMqkgFm4qiLwEzikFk+I6UV8N0GVpmP00gBBTTGhzCphvWj6lhFxXfqdsFp9FVO1zrf476yVUCItIX9hxDvlfNQFUQMtmSNsrxtUfLZl1b6rwZLs+I9s0DtTzmDrRDQji4dsUuKys4gvInFm2HqrGaGblAvnTw9d8/gNhIaw0aJ5eEGUothfHvvw1ButIekfB8b+O8P7hgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the organization.","metadata":{}},{"type":"text-delta","id":"1","delta":" Let me remove \"Remove Context Corp\" from the chat context now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","name":"remove-from-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","delta":"{\"ob","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","delta":"j\": \"01JGFJJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","delta":"Z00G0WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","delta":"MAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","delta":"VJA","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","delta":"\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":155,"totalTokens":156},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":754},"cache_creation_input_tokens":754,"cache_read_input_tokens":7419,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 `echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA`. I'll remove it from the context.","options":{}},{"type":"tool-call","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","name":"remove-from-context","params":{"obj":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_011wL3QHFxkLvZry6UJZnDhF","name":"remove-from-context","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"It seems the function returned an empty result, but let me check - I don't actually have information about an object called \"Remove Context Corp\" in the context. Let me search for it.\n\nWait, I just made a call without knowing the actual ID. Let me reconsider. I don't have the object ID for \"Remove Context Corp\" in my context. I should search for it first.\n\nActually, looking at this again, I made an assumption about the object ID which I shouldn't have. But the function did return successfully (empty result typically means success for removal operations). However, I fabricated an ID which is wrong.\n\nLet me reconsider - I should search for the organization first to find its ID, then remove it from context. \n\nThe function returned without error, but I need to be honest - I don't actually have the object's ID in my current context, so I should search for the organization first to find its actual ID before attempting any removal.","options":{}},{"type":"text","text":"I need to first find the actual object for \"Remove Context Corp.\" Let me search for it.","options":{}},{"type":"tool-call","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","name":"query","params":{"text":"Remove Context Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01FcCPZ3ve2dF3fpGATDY18Q","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVJ3","@type":"dxn:org.dxos.type.text:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJ3","content":"You can query, create, update, and delete objects in ECHO.\nYou can manage schemas, relations, tags, and add objects to the chat context."},{"id":"01JGFJJZ00G0WKQSJGMAKCNVJ4","@type":"dxn:org.dxos.type.blueprint:0.2.0","@meta":{"key":"org.dxos.blueprint.database","keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJ4","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNVJ3"}},"name":"Database","tools":["org.dxos.function.database.contextAdd","org.dxos.function.database.contextRemove","org.dxos.function.database.load","org.dxos.function.database.objectCreate","org.dxos.function.database.objectDelete","org.dxos.function.database.objectUpdate","org.dxos.function.database.query","org.dxos.function.database.relationCreate","org.dxos.function.database.relationDelete","org.dxos.function.database.schemaAdd","org.dxos.function.database.schemaList","org.dxos.function.database.tagAdd","org.dxos.function.database.tagRemove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNVJA","@type":"dxn:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVJA","name":"Remove Context Corp"}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found it. The organization \"Remove Context Corp\" has the ID `01JGFJJZ00G0WKQSJGMAKCNVJA`. Let me remove it from the chat context.","options":{}},{"type":"text","text":"I found the organization. Let me remove \"Remove Context Corp\" from the chat context now.","options":{}},{"type":"tool-call","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","name":"remove-from-context","params":{"obj":"01JGFJJZ00G0WKQSJGMAKCNVJA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01NnwTXxsmb6msJRHnJJW2MY","name":"remove-from-context","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01LEk7ios8eVK8pEGbyzqqVw","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:10.909Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! I've removed \"Remove Context Corp\" from the chat context. The organization still exists in the space — it's just no longer part","metadata":{}},{"type":"text-delta","id":"0","delta":" of this conversation's context.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":38,"totalTokens":39},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":107},"cache_creation_input_tokens":107,"cache_read_input_tokens":8173,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01XA8FbSDSKRar84N2YA1cCH","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:13.395Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to search for an email about a parking reservation from \"Lot Booking Co\" that was","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" stored in a queue. Let me run the query as specified.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuACCmMIDhgCKkAlh3HzzJIgTU1HYaR6hgob3u+8CPN5gPBNkjfjdQgBed86AG0AJSsVfsoLj4K+F1N7Fj9iZy6ZP+lC/AKpdFJmMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDA2/PPA1fii4W/VUzBoMF+hhMjs06hR9UEmoIjDfp6+QH7ML5SI/BaJf3+3nnXVbHnxy/Gpm27DvzzOOLQJO1A7fGFHYrEe3FsZf74gqqgEsuUKNZDEq33NbAQzPwrnNYeiqpwgLpDZOeaD3lsEhJKR+Y2xATtzGA2w2kBP0mP2oIdAggNr5sbg/pds0WkU+N4nCNllvdU/VaaU+fOvOxjs6CQzWaoA25fQs+vIFLQR65UGOelLhV9FW1Ug8C4+ip7XWBHG1Dk8QaCAHBq87MKxTb6Py5NTQj63CdJfk5Ph3g4KCjr8RLEFB1gOTLD+CEsB1iPgir3bMMBgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll run the query exactly as you described.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"{\"text\": \"r","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"es","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"ervatio","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"n\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":", \"includ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"eQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"ueues\": tr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"ue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"includeCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"ntent\": f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"al","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"se","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":", \"limit","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","delta":"\": 20}","metadata":{}},{"type":"tool-params-end","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":170,"totalTokens":173},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7360},"cache_creation_input_tokens":7360,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":31,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 about a parking reservation from \"Lot Booking Co\" that was stored in a queue. Let me run the query as specified.","options":{}},{"type":"text","text":"I'll run the query exactly as you described.","options":{}},{"type":"tool-call","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","name":"query","params":{"text":"reservation","includeQueues":true,"includeContent":false,"limit":20},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SiC18tJ5tLtL27P3LZTBUW","name":"query","isFailure":false,"result":[{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVPK","typename":"org.dxos.type.organization","label":"Lot Booking Co"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVPY","typename":"org.dxos.type.message"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVQ0","typename":"org.dxos.type.message"},{"dxn":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVQA","typename":"org.dxos.type.message"}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01MjoWLmP8KGo21iAFd8Wu9Q","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:16.791Z","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 object. Let me confirm","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" this to the user.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqYCCmMIDhgCKkBwfmCNrKCc/3mvyFohz7aQav/Y/1l2zdXxcqBf19L/+LAEfpuYsMIzYE805eo8Ppwz5Tyfr5ONVXMJQrxG8nHQMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDBVzY9UMT1W95I8RPBoMRLYbmFuwCxVCQsiBIjCeP8QsV8LZnD/y7nzb6baR8wvbGnoMG3ljG6+8E91H4Eip1BD2pqhZXIGFiw2bKJ8qcaNDlxid5HNy0rKh2LDoBKpumyhfLrBjmc390qQYC9pw1hRuvFyYtAZ0RBXXrpz7BdrmDzzqfnvfxvpw+OhRR/vxSTk8Kqn6IpsmCmC3E8uX5Zq09wYqdlyBejVtVcSIETifBRss+kYDgYC6kZBN4+bGGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"✅ **Confirmed.** The query returned ","metadata":{}},{"type":"text-delta","id":"1","delta":"4 results from the queue, and the very first hit is","metadata":{}},{"type":"text-delta","id":"1","delta":":\n\n| # | Type | Label |\n|---|------|-------|\n| 1 | `org.dxos.type.","metadata":{}},{"type":"text-delta","id":"1","delta":"organization` | **Lot Booking Co** |\n| 2 | `org.dxos.type.message` | *(message)* |\n| 3 ","metadata":{}},{"type":"text-delta","id":"1","delta":"| `org.dxos.type.message` | *(message)* |\n| 4 | `org.dxos.type.message` | *(message)* |\n\nThe results confirm that **","metadata":{}},{"type":"text-delta","id":"1","delta":"Lot Booking Co** was found via the full-text search for \"reservation\" with `includeQueues: true`,","metadata":{}},{"type":"text-delta","id":"1","delta":" meaning the mock email and its associated organization are","metadata":{}},{"type":"text-delta","id":"1","delta":" indeed stored on a feed/queue rather than as regular space documents.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":236,"totalTokens":237},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":419},"cache_creation_input_tokens":419,"cache_read_input_tokens":7360,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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_01DnL1ER6zP4SA56mxzizVbU","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:23.920Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to query for organizations in a specific feed called \"inbox-1\". I need to find the feed first, then query","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" within it. Let me search for the feed and also check","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" what the organization typename might be.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ep0DCmMIDhgCKkAcILnvNdewx2puRw8E2SNA6vnO46onB05K3dPW2HTe6WTfnvds9nMgbdgClls7f2E0Cn5KZfndeohVAADo1bsSMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDCYKhmWqW+dtqBcAZBoMAQ+hzQEC0yOeCY+LIjAO6aJRWQYUNVwTBhR76hcwNJ2UjP6qslX2wPysmm6p2w/2KRBLdgDh0BVfeTIQNagq5wHN7KChId4cl2PP+ydwbtfHNCAckr8JMENRLrhh5Z71iXuTxGQSgSYakdFcSmRrbf46PIPU6IWsLgxgBksp35b6utP/QlydFJZ/gIa90FZnXo7Y2hU4ccJFwLz4t5q0qG3OtE3P70LuMfaAuOjWyYyfWufiug1bivU84RATckmto4yPGcYczBTYwVzhJlK2x/o5LKCYLPTIGB0gNclH8s7i420XwicYXNvQKLCLXPp2sfPhYeXcYV3EYqvet6svVjRcPTi56LfU5WEbooF01mHKxVRPzbDMGt0aGHsXlMe6x7106W6km2wYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll first","metadata":{}},{"type":"text-delta","id":"1","delta":" search for the \"inbox-1\" feed and list the available schemas to find the correct","metadata":{}},{"type":"text-delta","id":"1","delta":" organization typename.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":"{\"tex","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":"t\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":"\"inbox-1","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":", \"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":"deConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":"t\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":", \"limit\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","delta":": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","metadata":{}},{"type":"tool-params-start","id":"toolu_01HLdu2uX4PXsAo536nLxgGu","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01HLdu2uX4PXsAo536nLxgGu","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01HLdu2uX4PXsAo536nLxgGu","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":7297},"cache_creation_input_tokens":7297,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 in a specific feed called \"inbox-1\". I need to find the feed first, then query within it. Let me search for the feed and also check what the organization typename might be.","options":{}},{"type":"text","text":"I'll first search for the \"inbox-1\" feed and list the available schemas to find the correct organization typename.","options":{}},{"type":"tool-call","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","name":"query","params":{"text":"inbox-1","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01HLdu2uX4PXsAo536nLxgGu","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVT2","@type":"dxn:org.dxos.type.feed:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVT2","name":"inbox-1"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01HLdu2uX4PXsAo536nLxgGu","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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_01Q2ZWpTKf7R8owgzDpskj7w","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:28.184Z","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 ID","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" `01JGFJJZ00","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"G0WKQSJGM","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"AKCNVT2`. Now I'll query","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" for organizations within that feed.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EroCCmMIDhgCKkAyU28QF+3T4MWtsUJJS6escYA5ON6dhXg0OYrmT/GtHD/0hECjtA/aaXa7rGNdXpd1AAVTZYBAPhLzWUbBwuxlMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDP6+mPeOIYKHZU5zLhoM6uYFJg9cw3KnPKGwIjBe4wi8BFD2PpCxQDOuXibiRXuYdkVaJI31c2BIvm3OcpDlzrnW4ilANDkxdNupgUgqhAFTkah12wKT1iGEEBSpKJzUE0DuGK3vqHODLb2SG3F0rU2zR/vn7yepxx63aS8ta2wDBczUjtxYguO9bQWcFcMs/V42k5dx1SIXWR0HJxBpUoYZvTxAkjHxFicY38QsEIjvutwyWhLWlez79mIzlWWLnk+DkW9QK8FuWfLGB9YxtWJ30LgYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the \"","metadata":{}},{"type":"text-delta","id":"1","delta":"inbox-1\" feed. Now let me query for organizations within it.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"{\"typename\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"\"org.dxo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"s.type.org","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"anizat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"ion","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":", \"in\": [{","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"\"/\":\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"echo:/01","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"JGFJJZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"G0WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"MA","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"KCNVT2\"}","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"]","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":", \"incl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"ude","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"Content\": t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":"rue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":", \"limit\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","delta":": 20}","metadata":{}},{"type":"tool-params-end","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":222,"totalTokens":223},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4267},"cache_creation_input_tokens":4267,"cache_read_input_tokens":7297,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 in a specific feed called \"inbox-1\". I need to find the feed first, then query within it. Let me search for the feed and also check what the organization typename might be.","options":{}},{"type":"text","text":"I'll first search for the \"inbox-1\" feed and list the available schemas to find the correct organization typename.","options":{}},{"type":"tool-call","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","name":"query","params":{"text":"inbox-1","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01HLdu2uX4PXsAo536nLxgGu","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01LZYTsm5eEtYKav1wyHENUu","name":"query","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNVT2","@type":"dxn:org.dxos.type.feed:0.1.0","@meta":{"keys":[]},"@uri":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVT2","name":"inbox-1"}],"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01HLdu2uX4PXsAo536nLxgGu","name":"list-schemas","isFailure":false,"result":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:com.example.type.expando:0.1.0","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:org.dxos.relation.employer:0.1.0","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:org.dxos.type.organization"},"relationSource":{"$ref":"dxn: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:org.dxos.type.function:0.2.0","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: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"},"icon":{"type":"string"}},"required":["name","id"],"propertyOrder":["name","description","updated","source","inputSchema","outputSchema","services","binding","icon","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:org.dxos.type.organization:0.1.0","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:org.dxos.type.person:0.1.0","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: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:org.dxos.type.tag:0.1.0","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:org.dxos.type.trigger:0.1.0","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: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"],"properties":{"kind":{"type":"string","enum":["feed"],"title":"Kind"},"feed":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:org.dxos.type.feed"},"schemaVersion":"0.1.0"}}],"title":"Feed"}},"additionalProperties":false,"propertyOrder":["kind","feed"]},{"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 ID `01JGFJJZ00G0WKQSJGMAKCNVT2`. Now I'll 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_01WFaiAxts5B9uRyJXmnECWS","name":"query","params":{"typename":"org.dxos.type.organization","in":[{"/":"echo:/01JGFJJZ00G0WKQSJGMAKCNVT2"}],"includeContent":true,"limit":20},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01WFaiAxts5B9uRyJXmnECWS","name":"query","isFailure":false,"result":[],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01A9wjd2i62SR47tY2gerJhe","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:35.160Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The query","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" returned no results. There are no organizations in the \"inbox-1\" feed.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EpYCCmMIDhgCKkAiDk41iiZfDByGzXOYkSdtNM9uJDDeYT85KQN0CJrOWVVFZsc9KmynzvfA4IbyaqTV+yGE24S+7MFzJAWlKD3CMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDCmcLDJN14XsErzq8xoMsgy3MZ0pw1eefNc6IjCvBK2SL+TsaLQ+V5OEod1Mits+zqib/pX+GqWTllfglnT+iD/TWtTIAKTtehKV4xkqYcZ3lrDoDk8DmwwO4QOFUKHSsS3emsW83wq6vIi2AlL1PxXSSd9azo8UcLwxVTthE6W2LuNhF/o8KJWkByFf2UZ03T11Q/kA7bIoi6IqKB9TuLQGcJemIOM4w+uLSav4tbYYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"The query returned","metadata":{}},{"type":"text-delta","id":"1","delta":" **no organizations** within the \"inbox-1\" feed. The feed exists (ID","metadata":{}},{"type":"text-delta","id":"1","delta":": `01JGFJJZ00G0WKQSJGMAKCNVT2`), but it doesn't contain any objects of type `org.dxos.type.organization`.\n\nWould","metadata":{}},{"type":"text-delta","id":"1","delta":" you like me to:\n- Search for organizations across the entire space instead?\n- Check what","metadata":{}},{"type":"text-delta","id":"1","delta":" other objects might be inside the \"inbox-1\" feed?\n- Create an organization in","metadata":{}},{"type":"text-delta","id":"1","delta":" this feed?","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":148,"totalTokens":149},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":175},"cache_creation_input_tokens":175,"cache_read_input_tokens":11564,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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\":[\"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVYB\"]}","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012dLa2PmBax3zbg6gknGxMd","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:39.438Z","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 do exactly that.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqACCmMIDhgCKkAoC/q22tmAa7y5gPCPWV/pxlEGblfwrlTfsg6siHUM2HByTFIVfc4KaOaMwUTt2YNBCjeOTI3hCO5jmNdNuBlbMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDJ/svkW4dP6VhRhkGBoMryBQYou7QUWV8YwNIjAhXc+aqI7sBHw2GimUHR1pWurGhR3r44EucFFY6BKuZbbcIUut2f9R/9BrbXGbg8MqaygW8ORHxttxTKm/E2NVb8z/t+05eiz+fw8MTr/W1nMlqPiGZwNVhFH+xB6QQ2zSCDd84qOVDnU3FOxo9VBMkG5bmIggXVG8/q+GczpRbFhX+7CbghN1pH2XLfao5FuUqcpFv5JSd4rc/lngGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_017YPoKjgat2WsN1LE9koLh8","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"{\"inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"ludeContent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":": false","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":", \"limi","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"t\": 10","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":", \"typenam","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"e\": \"org","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":".dxo","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"s.t","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"ype.organ","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"izatio","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"n\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":", \"in\": [{\"/","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"\":\"echo:/","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"/BDJXMU","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"LPW5FB55UZ7K","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"P5","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"HLDHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"TXUTHE2U/0","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"1JGFJJZ0","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"0G0W","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"KQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"MA","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"KCNVYB\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017YPoKjgat2WsN1LE9koLh8","delta":"}]}","metadata":{}},{"type":"tool-params-end","id":"toolu_017YPoKjgat2WsN1LE9koLh8","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":205,"totalTokens":208},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":7371},"cache_creation_input_tokens":7371,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":27,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"ai.claude.model.claude-opus-4-6","stream":true,"tools":[{"name":"set-alarm","description":"Schedule an alarm to wake yourself up in the future.\nProvide exactly one of \"in\" (a duration from now) or \"at\" (an absolute time).\nWhen the alarm fires you will receive a prompt and can continue working.\nSetting a new alarm replaces any previously scheduled one.","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"string","description":"Duration from now expressed as \"<number> <unit>\", e.g. \"30 seconds\", \"5 minutes\", \"2 hours\"."},"at":{"type":"string","description":"Absolute ISO-8601 timestamp to wake at, e.g. \"2026-06-04T18:00:00.000Z\"."}},"additionalProperties":false}},{"name":"get-current-date","description":"Get the current date and time as an ISO-8601 string.","inputSchema":{"type":"object","required":[],"properties":{"timezone":{"type":"string","description":"Optional IANA timezone name. Defaults to the process clock when omitted."}},"additionalProperties":false}},{"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 ({ '/': 'echo:...' }), 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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}}},"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: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"echo:...\" }.\nReference examples: { \"/\": \"echo:/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"echo://<space id>/01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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\": [{\"/\" : \"echo:/YYYYYY\"}, {\"/\" : \"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: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."},"limit":{"type":"number","description":"The maximum number of results to return."},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails."}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"target":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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 URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]},"obj":{"type":"string","description":"The URI of the referenced object. Protocols accepted:\n- echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4. \n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)\n- dxn:org.dxos.type.calendar:0.1.0 -- named entity from the registry. Absoutely make sure it actually exists in the registry.\n\nURIs can be prepended with an @ symbol for compatibility with in-text references.","examples":["echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@echo://01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4","dxn:org.dxos.type.calendar:0.1.0","@dxn:org.dxos.type.calendar:0.1.0"]}},"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\":[\"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVYB\"]}","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to call the query tool with specific parameters. Let me do exactly that.","options":{}},{"type":"tool-call","id":"toolu_017YPoKjgat2WsN1LE9koLh8","name":"query","params":{"includeContent":false,"limit":10,"typename":"org.dxos.type.organization","in":[{"/":"echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNVYB"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_017YPoKjgat2WsN1LE9koLh8","name":"query","isFailure":false,"result":[],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01J1ehKWFNAuZ2zPrcczjGqu","modelId":"claude-opus-4-6","timestamp":"2026-06-14T07:31:42.526Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The query","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" returned an empty array, meaning no objects of type `org.dxos.type.organization` were found within the specified scope","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EsgCCmMIDhgCKkAvkDA1IXC3y3fbHjxsh+YAX8qHUivdTxYXyQkgqD035COYsfwhSxD6gQCwmWmTCJUvE1q6DebVi4hTDPrFIVHFMg9jbGF1ZGUtb3B1cy00LTY4AEIIdGhpbmtpbmcSDKTvT/0CcWgJyT7sRxoMnUdKud4wk5dBS1HtIjDwAD6Aveu0Tyr2sDr60OPLKlqASmdyahWZW1hMBr9qheiXPGXlKoubbygL7TYjzf8qkgHN/w/RhX92os7k3b7Qjp0xBYvuk0HQsNMpqouDKGWvoR3bZvwjl8cZ/2FI4s00eciM1Lz9WgnWClu23aN7cYeqPhVExURCIZJxTOQasxXsH9DOgv3TOj30EPNuxDjpX1kdf4tT0Fl4quk7XgU5FvTxdqDF9nLkcEAlQQ15MGHgPc1QOLByH7oLrpOpPcuwTrm5MRgB"}}},{"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 objects of type `org.","metadata":{}},{"type":"text-delta","id":"1","delta":"dxos.type.organization` found within the specified scope (`echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0","metadata":{}},{"type":"text-delta","id":"1","delta":"WKQSJGMAKCNVYB`).\n\nWould you like me to:\n- Search more broadly (without","metadata":{}},{"type":"text-delta","id":"1","delta":" the `in` scope)?\n- Search for a different type?\n- Look up what's inside","metadata":{}},{"type":"text-delta","id":"1","delta":" that specific object?","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":172,"totalTokens":173},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":186},"cache_creation_input_tokens":186,"cache_read_input_tokens":7371,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]}]}