@dxos/assistant-toolkit 0.8.4-main.03d5cd7b56
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.
- package/LICENSE +8 -0
- package/README.md +3 -0
- package/dist/lib/neutral/add-artifact-ZUJ5DMSY.mjs +30 -0
- package/dist/lib/neutral/add-artifact-ZUJ5DMSY.mjs.map +7 -0
- package/dist/lib/neutral/agent-5NIKAYUK.mjs +65 -0
- package/dist/lib/neutral/agent-5NIKAYUK.mjs.map +7 -0
- package/dist/lib/neutral/chunk-246ACKSH.mjs +100 -0
- package/dist/lib/neutral/chunk-246ACKSH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-EJAQUAKM.mjs +73 -0
- package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +7 -0
- package/dist/lib/neutral/chunk-FIGO6CA6.mjs +140 -0
- package/dist/lib/neutral/chunk-FIGO6CA6.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GV66MKAQ.mjs +60 -0
- package/dist/lib/neutral/chunk-GV66MKAQ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-IKBIORQX.mjs +332 -0
- package/dist/lib/neutral/chunk-IKBIORQX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-KGU725LW.mjs +29 -0
- package/dist/lib/neutral/chunk-KGU725LW.mjs.map +7 -0
- package/dist/lib/neutral/chunk-NR3GTWRC.mjs +53 -0
- package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +7 -0
- package/dist/lib/neutral/chunk-P4ZMYO4K.mjs +294 -0
- package/dist/lib/neutral/chunk-P4ZMYO4K.mjs.map +7 -0
- package/dist/lib/neutral/chunk-QO5SU37C.mjs +70 -0
- package/dist/lib/neutral/chunk-QO5SU37C.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ROMZO4CB.mjs +108 -0
- package/dist/lib/neutral/chunk-ROMZO4CB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-TO5IX24K.mjs +67 -0
- package/dist/lib/neutral/chunk-TO5IX24K.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WLR3BGO4.mjs +25 -0
- package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-XUF53B6B.mjs +75 -0
- package/dist/lib/neutral/chunk-XUF53B6B.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ZFXLTBZG.mjs +73 -0
- package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +7 -0
- package/dist/lib/neutral/context-add-VB7AOY3G.mjs +22 -0
- package/dist/lib/neutral/context-add-VB7AOY3G.mjs.map +7 -0
- package/dist/lib/neutral/context-remove-VCM3VPSO.mjs +22 -0
- package/dist/lib/neutral/context-remove-VCM3VPSO.mjs.map +7 -0
- package/dist/lib/neutral/create-project-EIF4OJMY.mjs +35 -0
- package/dist/lib/neutral/create-project-EIF4OJMY.mjs.map +7 -0
- package/dist/lib/neutral/delete-J3PMWP7Z.mjs +19 -0
- package/dist/lib/neutral/delete-J3PMWP7Z.mjs.map +7 -0
- package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs +47 -0
- package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs.map +7 -0
- package/dist/lib/neutral/fetch-KHMHV7JR.mjs +16 -0
- package/dist/lib/neutral/fetch-KHMHV7JR.mjs.map +7 -0
- package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs +139 -0
- package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs.map +7 -0
- package/dist/lib/neutral/get-context-TN7X7U2H.mjs +35 -0
- package/dist/lib/neutral/get-context-TN7X7U2H.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +916 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/load-ALP3TK2E.mjs +17 -0
- package/dist/lib/neutral/load-ALP3TK2E.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/object-create-Z57Y3X6Y.mjs +35 -0
- package/dist/lib/neutral/object-create-Z57Y3X6Y.mjs.map +7 -0
- package/dist/lib/neutral/object-delete-X53LS37B.mjs +18 -0
- package/dist/lib/neutral/object-delete-X53LS37B.mjs.map +7 -0
- package/dist/lib/neutral/object-update-GVKSBR7T.mjs +28 -0
- package/dist/lib/neutral/object-update-GVKSBR7T.mjs.map +7 -0
- package/dist/lib/neutral/project-HPHTZ2CI.mjs +23 -0
- package/dist/lib/neutral/project-HPHTZ2CI.mjs.map +7 -0
- package/dist/lib/neutral/project-rules-IVDHKSKI.mjs +78 -0
- package/dist/lib/neutral/project-rules-IVDHKSKI.mjs.map +7 -0
- package/dist/lib/neutral/prompt-Y7NN7M5D.mjs +170 -0
- package/dist/lib/neutral/prompt-Y7NN7M5D.mjs.map +7 -0
- package/dist/lib/neutral/qualifier-VDOY5CWU.mjs +88 -0
- package/dist/lib/neutral/qualifier-VDOY5CWU.mjs.map +7 -0
- package/dist/lib/neutral/query-PPJU5622.mjs +70 -0
- package/dist/lib/neutral/query-PPJU5622.mjs.map +7 -0
- package/dist/lib/neutral/query-U56GNEV6.mjs +32 -0
- package/dist/lib/neutral/query-U56GNEV6.mjs.map +7 -0
- package/dist/lib/neutral/query-blueprints-KXADGHSA.mjs +16 -0
- package/dist/lib/neutral/query-blueprints-KXADGHSA.mjs.map +7 -0
- package/dist/lib/neutral/relation-create-XJ2IX6X3.mjs +34 -0
- package/dist/lib/neutral/relation-create-XJ2IX6X3.mjs.map +7 -0
- package/dist/lib/neutral/relation-delete-EP4KXAFL.mjs +18 -0
- package/dist/lib/neutral/relation-delete-EP4KXAFL.mjs.map +7 -0
- package/dist/lib/neutral/save-GWAPLT3Z.mjs +23 -0
- package/dist/lib/neutral/save-GWAPLT3Z.mjs.map +7 -0
- package/dist/lib/neutral/schema-add-Z5CY6P24.mjs +24 -0
- package/dist/lib/neutral/schema-add-Z5CY6P24.mjs.map +7 -0
- package/dist/lib/neutral/schema-list-W326VPVX.mjs +38 -0
- package/dist/lib/neutral/schema-list-W326VPVX.mjs.map +7 -0
- package/dist/lib/neutral/sync-issues-4YE5XAK5.mjs +167 -0
- package/dist/lib/neutral/sync-issues-4YE5XAK5.mjs.map +7 -0
- package/dist/lib/neutral/sync-triggers-CDMJVW6E.mjs +136 -0
- package/dist/lib/neutral/sync-triggers-CDMJVW6E.mjs.map +7 -0
- package/dist/lib/neutral/tag-add-VNIIOVJA.mjs +19 -0
- package/dist/lib/neutral/tag-add-VNIIOVJA.mjs.map +7 -0
- package/dist/lib/neutral/tag-remove-6R2R27W3.mjs +19 -0
- package/dist/lib/neutral/tag-remove-6R2R27W3.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +76 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs +16 -0
- package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs.map +7 -0
- package/dist/lib/neutral/update-tasks-H7SWIFQL.mjs +46 -0
- package/dist/lib/neutral/update-tasks-H7SWIFQL.mjs.map +7 -0
- package/dist/types/src/blueprints/automation/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/automation/index.d.ts +2 -0
- package/dist/types/src/blueprints/automation/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +63 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +37 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +28 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +4 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/index.d.ts +3 -0
- package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/browser/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/browser/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/browser/index.d.ts +2 -0
- package/dist/types/src/blueprints/browser/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/context-add.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/context-remove.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/definitions.d.ts +59 -0
- package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/load.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/object-create.d.ts +8 -0
- package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/object-delete.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/object-update.d.ts +10 -0
- package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/query.d.ts +13 -0
- package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/relation-create.d.ts +10 -0
- package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/schema-add.d.ts +9 -0
- package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/schema-list.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/tag-add.d.ts +8 -0
- package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +8 -0
- package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/index.d.ts +3 -0
- package/dist/types/src/blueprints/database/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/functions/definitions.d.ts +15 -0
- package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts +12 -0
- package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/functions/fetch-messages.test.d.ts +2 -0
- package/dist/types/src/blueprints/discord/functions/fetch-messages.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/index.d.ts +3 -0
- package/dist/types/src/blueprints/discord/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/github/functions/definitions.d.ts +7 -0
- package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +8 -0
- package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -0
- package/dist/types/src/blueprints/github/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/github/index.d.ts +2 -0
- package/dist/types/src/blueprints/github/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +12 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/definitions.d.ts +6 -0
- package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/linear.test.d.ts +2 -0
- package/dist/types/src/blueprints/linear/functions/linear.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +10 -0
- package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/index.d.ts +3 -0
- package/dist/types/src/blueprints/linear/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/definitions.d.ts +17 -0
- package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/delete.d.ts +10 -0
- package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/query.d.ts +8 -0
- package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/save.d.ts +8 -0
- package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/index.d.ts +3 -0
- package/dist/types/src/blueprints/memory/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/functions/definitions.d.ts +11 -0
- package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +11 -0
- package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/index.d.ts +3 -0
- package/dist/types/src/blueprints/planning/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/project/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +8 -0
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/agent.d.ts +4 -0
- package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/definitions.d.ts +158 -0
- package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/get-context.d.ts +15 -0
- package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts +73 -0
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/index.d.ts +3 -0
- package/dist/types/src/blueprints/project/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +51 -0
- package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +96 -0
- package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +4 -0
- package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +48 -0
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/index.d.ts +3 -0
- package/dist/types/src/blueprints/project-wizard/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/testing.d.ts +16 -0
- package/dist/types/src/blueprints/testing.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +5 -0
- package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +6 -0
- package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/index.d.ts +4 -0
- package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/toolkit.d.ts +29 -0
- package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -0
- package/dist/types/src/crud/graph.d.ts +67 -0
- package/dist/types/src/crud/graph.d.ts.map +1 -0
- package/dist/types/src/crud/graph.test.d.ts +2 -0
- package/dist/types/src/crud/graph.test.d.ts.map +1 -0
- package/dist/types/src/crud/index.d.ts +2 -0
- package/dist/types/src/crud/index.d.ts.map +1 -0
- package/dist/types/src/errors.d.ts +41 -0
- package/dist/types/src/errors.d.ts.map +1 -0
- package/dist/types/src/functions/agent/definitions.d.ts +62 -0
- package/dist/types/src/functions/agent/definitions.d.ts.map +1 -0
- package/dist/types/src/functions/agent/index.d.ts +4 -0
- package/dist/types/src/functions/agent/index.d.ts.map +1 -0
- package/dist/types/src/functions/agent/prompt.d.ts +4 -0
- package/dist/types/src/functions/agent/prompt.d.ts.map +1 -0
- package/dist/types/src/functions/agent/prompt.test.d.ts +2 -0
- package/dist/types/src/functions/agent/prompt.test.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +2 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +7 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/sync/index.d.ts +2 -0
- package/dist/types/src/sync/index.d.ts.map +1 -0
- package/dist/types/src/sync/sync.d.ts +15 -0
- package/dist/types/src/sync/sync.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +3 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/plugins.d.ts +19 -0
- package/dist/types/src/testing/plugins.d.ts.map +1 -0
- package/dist/types/src/toolkits/WebToolkit.d.ts +38 -0
- package/dist/types/src/toolkits/WebToolkit.d.ts.map +1 -0
- package/dist/types/src/toolkits/index.d.ts +2 -0
- package/dist/types/src/toolkits/index.d.ts.map +1 -0
- package/dist/types/src/types/Agent.d.ts +77 -0
- package/dist/types/src/types/Agent.d.ts.map +1 -0
- package/dist/types/src/types/Chat.d.ts +56 -0
- package/dist/types/src/types/Chat.d.ts.map +1 -0
- package/dist/types/src/types/McpServer.d.ts +21 -0
- package/dist/types/src/types/McpServer.d.ts.map +1 -0
- package/dist/types/src/types/Memory.d.ts +12 -0
- package/dist/types/src/types/Memory.d.ts.map +1 -0
- package/dist/types/src/types/Plan.d.ts +89 -0
- package/dist/types/src/types/Plan.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +6 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/util/graphql.d.ts +22 -0
- package/dist/types/src/util/graphql.d.ts.map +1 -0
- package/dist/types/src/util/index.d.ts +2 -0
- package/dist/types/src/util/index.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +74 -0
- package/src/blueprints/automation/blueprint.ts +105 -0
- package/src/blueprints/automation/index.ts +5 -0
- package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -0
- package/src/blueprints/blueprint-manager/blueprint.test.ts +198 -0
- package/src/blueprints/blueprint-manager/blueprint.ts +49 -0
- package/src/blueprints/blueprint-manager/functions/definitions.ts +57 -0
- package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +43 -0
- package/src/blueprints/blueprint-manager/functions/index.ts +13 -0
- package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +18 -0
- package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +18 -0
- package/src/blueprints/blueprint-manager/index.ts +6 -0
- package/src/blueprints/browser/blueprint.test.ts +61 -0
- package/src/blueprints/browser/blueprint.ts +40 -0
- package/src/blueprints/browser/index.ts +5 -0
- package/src/blueprints/database/blueprint.conversations.json +1 -0
- package/src/blueprints/database/blueprint.test.ts +531 -0
- package/src/blueprints/database/blueprint.ts +66 -0
- package/src/blueprints/database/functions/context-add.ts +24 -0
- package/src/blueprints/database/functions/context-remove.ts +24 -0
- package/src/blueprints/database/functions/definitions.ts +318 -0
- package/src/blueprints/database/functions/index.ts +23 -0
- package/src/blueprints/database/functions/load.ts +19 -0
- package/src/blueprints/database/functions/object-create.ts +38 -0
- package/src/blueprints/database/functions/object-delete.ts +20 -0
- package/src/blueprints/database/functions/object-update.ts +30 -0
- package/src/blueprints/database/functions/query.ts +64 -0
- package/src/blueprints/database/functions/relation-create.ts +34 -0
- package/src/blueprints/database/functions/relation-delete.ts +21 -0
- package/src/blueprints/database/functions/schema-add.ts +28 -0
- package/src/blueprints/database/functions/schema-list.ts +33 -0
- package/src/blueprints/database/functions/tag-add.ts +21 -0
- package/src/blueprints/database/functions/tag-remove.ts +21 -0
- package/src/blueprints/database/index.ts +21 -0
- package/src/blueprints/discord/blueprint.ts +41 -0
- package/src/blueprints/discord/functions/definitions.ts +70 -0
- package/src/blueprints/discord/functions/fetch-messages.test.ts +45 -0
- package/src/blueprints/discord/functions/fetch-messages.ts +198 -0
- package/src/blueprints/discord/functions/index.ts +9 -0
- package/src/blueprints/discord/index.ts +6 -0
- package/src/blueprints/github/functions/definitions.ts +26 -0
- package/src/blueprints/github/functions/fetch-prs.ts +24 -0
- package/src/blueprints/github/functions/index.ts +9 -0
- package/src/blueprints/github/index.ts +5 -0
- package/src/blueprints/index.ts +15 -0
- package/src/blueprints/linear/blueprint.ts +42 -0
- package/src/blueprints/linear/functions/definitions.ts +23 -0
- package/src/blueprints/linear/functions/index.ts +9 -0
- package/src/blueprints/linear/functions/linear.test.ts +58 -0
- package/src/blueprints/linear/functions/sync-issues.ts +183 -0
- package/src/blueprints/linear/index.ts +6 -0
- package/src/blueprints/memory/blueprint.conversations.json +1 -0
- package/src/blueprints/memory/blueprint.test.ts +139 -0
- package/src/blueprints/memory/blueprint.ts +41 -0
- package/src/blueprints/memory/functions/definitions.ts +68 -0
- package/src/blueprints/memory/functions/delete.ts +20 -0
- package/src/blueprints/memory/functions/index.ts +13 -0
- package/src/blueprints/memory/functions/query.ts +32 -0
- package/src/blueprints/memory/functions/save.ts +20 -0
- package/src/blueprints/memory/index.ts +6 -0
- package/src/blueprints/planning/blueprint.ts +24 -0
- package/src/blueprints/planning/functions/definitions.ts +137 -0
- package/src/blueprints/planning/functions/index.ts +9 -0
- package/src/blueprints/planning/functions/update-tasks.ts +45 -0
- package/src/blueprints/planning/index.ts +6 -0
- package/src/blueprints/project/blueprint.conversations.json +1 -0
- package/src/blueprints/project/blueprint.test.ts +714 -0
- package/src/blueprints/project/blueprint.ts +64 -0
- package/src/blueprints/project/functions/add-artifact.ts +30 -0
- package/src/blueprints/project/functions/agent.ts +69 -0
- package/src/blueprints/project/functions/definitions.ts +92 -0
- package/src/blueprints/project/functions/get-context.ts +46 -0
- package/src/blueprints/project/functions/index.ts +14 -0
- package/src/blueprints/project/functions/qualifier.ts +90 -0
- package/src/blueprints/project/index.ts +6 -0
- package/src/blueprints/project-wizard/blueprint.ts +52 -0
- package/src/blueprints/project-wizard/functions/create-project.ts +32 -0
- package/src/blueprints/project-wizard/functions/definitions.ts +63 -0
- package/src/blueprints/project-wizard/functions/index.ts +13 -0
- package/src/blueprints/project-wizard/functions/project-rules.ts +77 -0
- package/src/blueprints/project-wizard/functions/sync-triggers.ts +158 -0
- package/src/blueprints/project-wizard/index.ts +6 -0
- package/src/blueprints/testing.ts +49 -0
- package/src/blueprints/websearch/blueprint.conversations.json +1 -0
- package/src/blueprints/websearch/blueprint.test.ts +39 -0
- package/src/blueprints/websearch/blueprint.ts +30 -0
- package/src/blueprints/websearch/functions/definitions.ts +25 -0
- package/src/blueprints/websearch/functions/fetch.ts +18 -0
- package/src/blueprints/websearch/functions/index.ts +9 -0
- package/src/blueprints/websearch/index.ts +7 -0
- package/src/blueprints/websearch/toolkit.ts +13 -0
- package/src/crud/graph.test.ts +44 -0
- package/src/crud/graph.ts +380 -0
- package/src/crud/index.ts +5 -0
- package/src/errors.ts +25 -0
- package/src/functions/READ_THIS.md +5 -0
- package/src/functions/agent/definitions.ts +56 -0
- package/src/functions/agent/index.ts +9 -0
- package/src/functions/agent/prompt.conversations.json +1 -0
- package/src/functions/agent/prompt.test.ts +81 -0
- package/src/functions/agent/prompt.ts +224 -0
- package/src/functions/index.ts +5 -0
- package/src/index.ts +10 -0
- package/src/sync/index.ts +5 -0
- package/src/sync/sync.ts +106 -0
- package/src/testing/index.ts +6 -0
- package/src/testing/plugins.tsx +79 -0
- package/src/toolkits/WebToolkit.ts +33 -0
- package/src/toolkits/index.ts +5 -0
- package/src/typedefs.d.ts +8 -0
- package/src/types/Agent.ts +240 -0
- package/src/types/Chat.ts +63 -0
- package/src/types/McpServer.ts +37 -0
- package/src/types/Memory.ts +24 -0
- package/src/types/Plan.ts +110 -0
- package/src/types/index.ts +9 -0
- package/src/util/graphql.ts +31 -0
- package/src/util/index.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"List all available schemas. Tell me what typenames are available.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01V5grsDy9RufSBQcHR9fXG1","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:22:34.774Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to see all available schemas and their typenames.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvsBClkIDRgCKkD4LKEDLyUCtvKKgOhmTnb3HePkNmiM8mD+91r8VdIyPbJgSawCUIRqj7UFWLfDQ37CSSczQ3C22Yx/Oj2JbkIAMg9jbGF1ZGUtb3B1cy00LTY4ABIMAG/15PlC1Wv7itpkGgzKcLXjxfl4saQPbL0iMP4kSKwx1xZsBZX30ICYvsyxAJr+kbim4n/c4kSEXifap9w6WwornNAKq0irvCiftipQwuSQqs8g1eCMBJ193bFyImjB/iYICdgch6ygHgheRc3/iubc3QHrnUi0Hv//meKg5bopPBemBC34iV5js1nKr89Ef4vPJCtHAcFI/EiaQksYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01BbY5vctcmuvqXRGczPh6Z5","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01BbY5vctcmuvqXRGczPh6Z5","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01BbY5vctcmuvqXRGczPh6Z5","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":65,"totalTokens":68},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6341},"cache_creation_input_tokens":6341,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":49,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"List all available schemas. Tell me what typenames are available.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to see all available schemas and their typenames.","options":{}},{"type":"tool-call","id":"toolu_01BbY5vctcmuvqXRGczPh6Z5","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01BbY5vctcmuvqXRGczPh6Z5","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01GGRmCfc75biV7WbxhfefKk","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:22:36.786Z","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 into a clear list for the user.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvYBClkIDRgCKkBEBMx/6rQXyUuqDcKcLKtXktnR7vLfvLaezklmS0vdsVARkGumfjCCw8jZDjXtteeSI/SOHySusd+OMBMWALV/Mg9jbGF1ZGUtb3B1cy00LTY4ABIM11Yz6NlO9uSRG4eRGgx93MJwKD92Xg96zo8iMJvCG2MeXa9hojRXd3QbzztSNJFJXf55mRzoKRRL8lxbB+CLwvcCpAvz8TVU//z9VCpLz1RWtKe5VG0jbpWuAHZJKrBQjfNKOb1GhQgrDY9GXMSNt5k93nSBeKBxNyA34rmH9YIOarvaEgO1Tr5fuYiw+XJ+IN0+jgo+ESfJGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Here are all the available schemas and their typ","metadata":{}},{"type":"text-delta","id":"1","delta":"enames:\n\n### Objects (Records)\n\n| Typename | Description |\n|---|---|\n| `com.example.type.expando` | A","metadata":{}},{"type":"text-delta","id":"1","delta":" flexible/generic object that allows additional properties |\n| `org.d","metadata":{}},{"type":"text-delta","id":"1","delta":"xos.type.function` | A function definition (with input/output schemas, versioning, etc.) |\n| `org.dxos.type.","metadata":{}},{"type":"text-delta","id":"1","delta":"organization` | An organization (with name, description, status, website, location, etc.) |\n| `org.dxos.type.person` | A person (with name","metadata":{}},{"type":"text-delta","id":"1","delta":", emails, phone numbers, addresses, job info, etc.) |\n| `org.dxos.type.tag` | A tag (with label and hue/","metadata":{}},{"type":"text-delta","id":"1","delta":"color) |\n| `org.dxos.type.trigger` | A trigger definition (supports email, queue, subscription, timer, and","metadata":{}},{"type":"text-delta","id":"1","delta":" webhook triggers) |\n\n### Relations\n\n| Typename | Description |\n|---|---|\n| `org.dxos.relation.employer` | Links a **","metadata":{}},{"type":"text-delta","id":"1","delta":"Person** (source) to an **Organization** (target), with properties like role, active status","metadata":{}},{"type":"text-delta","id":"1","delta":", and start/end dates |\n\n---\n\n**7 typenames total","metadata":{}},{"type":"text-delta","id":"1","delta":"** — 6 object types and 1 relation type. Let","metadata":{}},{"type":"text-delta","id":"1","delta":" me know if you'd like to explore any of these in more detail or create/query objects of","metadata":{}},{"type":"text-delta","id":"1","delta":" a specific type!","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":340,"totalTokens":341},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4055},"cache_creation_input_tokens":4055,"cache_read_input_tokens":6341,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add a new schema called \"Project\" with typename \"com.example.type.project\" and fields: name (string), description (string), and status (string).","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01KYykDuZ9WbAQTEx49gajXt","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:22:45.650Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to create a new schema called \"Project\" with specific fields.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EocCClkIDRgCKkABgBjG4o85NhnDevV1SYaZMZdmU4gBCgTvMh98fE+9RdNWMAkJ6uFgemdCPHGWJvrQe1AJvUvw0lZsQ8Ve6hQGMg9jbGF1ZGUtb3B1cy00LTY4ABIMPjHm5hST+l+Ixu3pGgydvtVYrTgYNdBdGy8iMHkiIXfUL8O9d4h/3h1++zkBfdn/MEFwh0TREgv7Lp1uBK3cc0g/7/9c2ISxv3OjxCpcbF3IzoNpNEWv1G1Y7UPjX72yYHDqg303jWzui8mI3O3DL9eFaAUMkGhHxDTR1stei45/64K+cMKD5EpEI+LSlthBdwadlTGx3TZvB554HktN15VySlXBMvIsqGAYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I","metadata":{}},{"type":"text-delta","id":"1","delta":"'ll create the \"Project\" schema with the specified fields right away.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01RK2ividPobmRANxQcJVoWH","name":"add-schema","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"{\"name","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"\"Project\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":", \"typena","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"me\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":": \"com.exam","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"ple.t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"ype.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"project\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":", \"j","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"sonSchem","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"a\": {\"type","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"\":\"object\",\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"properties\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":":{\"name\":{","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"\"t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"ype","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"\":\"st","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"ring\"},\"desc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"ription\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"type\":\"str","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"ing\"},\"sta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"tus\":{\"t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"ype\":\"strin","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"g\"}},\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"required\":[","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"\"name\",\"de","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"scription","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"\",\"st","metadata":{}},{"type":"tool-params-delta","id":"toolu_01RK2ividPobmRANxQcJVoWH","delta":"atus\"]}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01RK2ividPobmRANxQcJVoWH","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":6363},"cache_creation_input_tokens":6363,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":33,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add a new schema called \"Project\" with typename \"com.example.type.project\" and fields: name (string), description (string), and status (string).","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a new schema called \"Project\" with specific fields.","options":{}},{"type":"text","text":"I'll create the \"Project\" schema with the specified fields right away.","options":{}},{"type":"tool-call","id":"toolu_01RK2ividPobmRANxQcJVoWH","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_01RK2ividPobmRANxQcJVoWH","name":"add-schema","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_017i2Vj7WD2TNMsZBhmJ8Skr","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:22:49.085Z","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:**","metadata":{}},{"type":"text-delta","id":"0","delta":" Project\n- **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 Project object?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":93,"totalTokens":94},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":185},"cache_creation_input_tokens":185,"cache_read_input_tokens":6363,"input_tokens":1,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_014V1JoPk9zD7nz7girtt7t2","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:22:54.436Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me check what schemas are available to find the right type","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" for an organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eo4CClkIDRgCKkAd0BKYTt3YLKaRKnNjdx6RuBNef2VkUcoMun1O9lqRlnmQb+BQ8h1y63jxu/OX6nrshF7LByg/tZLl3i84IgNvMg9jbGF1ZGUtb3B1cy00LTY4ABIM9C8qwnlCAztcwIVFGgx6iL9D/Eckwi3o8vciMBGudQn2hOSknPiowlj0VH1Nv7HlpNt7Va2ocY25uTjGMYk7R28LywuCiCYjIMevJypjvVwoKs2G+AtmfRUuKphvK6cOrfMyBIgJLpYDsmlv5aI9DMhSNBgE/4b8pIG2rrvPMNKR7EVSVGLc8Ok/k9UVOxZErVRk2NiUK78nM7fuOezExglmUpNNMvzJhXrleN540LC2GAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first check the available schemas to find the right type for an organization.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01AZNt7tndocujrxxq7sENBF","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01AZNt7tndocujrxxq7sENBF","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01AZNt7tndocujrxxq7sENBF","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":85,"totalTokens":88},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6340},"cache_creation_input_tokens":6340,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":20,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me check what schemas are available to find the right type for an organization.","options":{}},{"type":"text","text":"Let me first check the available schemas to find the right type for an organization.","options":{}},{"type":"tool-call","id":"toolu_01AZNt7tndocujrxxq7sENBF","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01AZNt7tndocujrxxq7sENBF","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01GozoBWWvsUt9dFB5C3PnEq","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:22:57.422Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" found the schema for `org.dxos.type.organization`. Let me create the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eo8CClkIDRgCKkD8UtVkYQcTMmOCAD3U5gSZIGUKqfZcRZ3d7gvmAv94K0PqdjPeZLraPCoYsfDfWHO46wp3rta19wYYSb75bTrHMg9jbGF1ZGUtb3B1cy00LTY4ABIMSyE1XIOIrd8ERuaKGgyMqk8MVBIU/gWjEAIiMKlmy18STz5L990hlR2X00FYDJxs8sIQ60+TMEjp/1BO6Lnb9bIxMkCXyz6Y+1WiNypkmKSY2NPJ/n5Xq6uYz3wtlNssItZ0Vi7E3ZK9/J8H2MLHqvxRcXi1GqXVnrqJ/EINcMkQQAQHfFinZvHr/J0QFLI6QeP59J5/KoS1RAekub7ygAyFvaxlPhzeqracD0Yg9LSMGxgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the `org.dxos.type.organization` schema. Let me create the organization now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"{\"typena","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"me","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"\": \"org.d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"xo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"s.ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"pe.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"organ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"ization\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":", \"dat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"a\": {\"name\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"\"Cyberdyne ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"Systems","metadata":{}},{"type":"tool-params-delta","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","delta":"\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","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":4071},"cache_creation_input_tokens":4071,"cache_read_input_tokens":6340,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me check what schemas are available to find the right type for an organization.","options":{}},{"type":"text","text":"Let me first check the available schemas to find the right type for an organization.","options":{}},{"type":"tool-call","id":"toolu_01AZNt7tndocujrxxq7sENBF","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01AZNt7tndocujrxxq7sENBF","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found the schema for `org.dxos.type.organization`. Let me create the organization.","options":{}},{"type":"text","text":"I found the `org.dxos.type.organization` schema. Let me create the organization now.","options":{}},{"type":"tool-call","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","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_01NCQrNj4MCL2YQ8kFwJqgH4","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTE3","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE3","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01PqFpP75CNkBphzXQNsdesf","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:01.641Z","metadata":{}},{"type":"tool-params-start","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","name":"add-to-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"{\"ob","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"j\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"n:echo:BDJXM","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"ULPW5","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"FB55UZ7KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"DH","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"VTX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"UTHE","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"2U:01JGFJJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"Z00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"SJGMAK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","delta":"CNTE3\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":108,"totalTokens":109},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":262},"cache_creation_input_tokens":262,"cache_read_input_tokens":10411,"input_tokens":1,"output_tokens":45,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>\n\n## Context Objects\n\n<object>\n <dxn>dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE3</dxn>\n <typename>org.dxos.type.organization</typename>\n</object>","options":{}},{"role":"user","content":"Create a new organization called \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me check what schemas are available to find the right type for an organization.","options":{}},{"type":"text","text":"Let me first check the available schemas to find the right type for an organization.","options":{}},{"type":"tool-call","id":"toolu_01AZNt7tndocujrxxq7sENBF","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01AZNt7tndocujrxxq7sENBF","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found the schema for `org.dxos.type.organization`. Let me create the organization.","options":{}},{"type":"text","text":"I found the `org.dxos.type.organization` schema. Let me create the organization now.","options":{}},{"type":"tool-call","id":"toolu_01NCQrNj4MCL2YQ8kFwJqgH4","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_01NCQrNj4MCL2YQ8kFwJqgH4","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTE3","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE3","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"tool-call","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","name":"add-to-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTE3"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01N7yu1Hdw4q34vftyDWzSRZ","name":"add-to-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01UTUU6aeCMuu9q9HandAMmy","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:13.421Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I","metadata":{}},{"type":"text-delta","id":"0","delta":"'ve created the **Cyberdyne Systems** organization and added it to the chat context. You can now see it in your space","metadata":{}},{"type":"text-delta","id":"0","delta":". Would you like to add any additional details to it, such as a","metadata":{}},{"type":"text-delta","id":"0","delta":" description, status, or website?","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":10899},"cache_creation_input_tokens":10899,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_018KNHZ1JNeSMW9Sn4Te3HEx","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:16.842Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to create a person with fullName=\"John Doe\" and a reference to the organization \"Cyberdyne Systems\". I need to:\n\n1. Find the schema","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" for person and organization types\n2. Find the organization \"Cyberdyne Systems\"\n\nLet me start by listing schemas","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" and searching for the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuIDClkIDRgCKkB2VUrzYYBY3SDY0jBFQ3+apsTM+L7Bo4LQG0IQVmF1GGqnW5aoBpJbKRJGFFjuW2gKSPY5t4Vc0+iPrlEVXHfoMg9jbGF1ZGUtb3B1cy00LTY4ABIMUGpFdlJ+mnh3pBwoGgyIoJLOWsztTfwGKrkiMCwc9ypScu/ILJEp+x8knv1i9e376ek99gg7qFXCsVdSQRaTCqbD+TgNf7hUDw3Flyq2AhVVyYJOB2DtFH4GcWUzI8zdxT9sFW8qmmSLfOYKuj0U+3Nvt6MBLRWn4mC4Y3v4kaIkGuNNP4qUzZAqH0vLopjwALL73cE6wca/JlOBVrj4hQsmPQl7DzmOCSZn6xUIdMxUYNXQ4tucYpmWogvFTUMlhJgqj2qoqWwGI6orzpVTdxXYeQTn6dmQ4WciDTI57zSc3CB9a2sf41+ZPxW0qhmstjlkAeFyXjfNj0JUUh7S+zNW+2+1FAuvsSXQ3bn+8baRhk9wV5argo0tj+ekU+1aroBJS9fmagKsXl24ECfxWsaH2J284Iud44EEmJR4mTxAHooxL5gb2BYfbYwPt2UD8F6Wms0g9tik+yXjd2KenVF2fla0LkrOhUcAsGjIDP2N0yBSwEwvENBx6iAVqfh4UAZx+SAYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll start by looking up the relevant schemas and searching for the \"","metadata":{}},{"type":"text-delta","id":"1","delta":"Cyberdyne Systems\" organization in parallel.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","metadata":{}},{"type":"tool-params-start","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"{\"tex","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"t\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"Cybe","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"rdyne Sys","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"tems\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":", \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"ncludeCont","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":"ent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":", \"limit\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","delta":": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":220,"totalTokens":223},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6352},"cache_creation_input_tokens":6352,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":46,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a person with fullName=\"John Doe\" and a reference to the organization \"Cyberdyne Systems\". I need to:\n\n1. Find the schema for person and organization types\n2. Find the organization \"Cyberdyne Systems\"\n\nLet me start by listing schemas and searching for the organization.","options":{}},{"type":"text","text":"I'll start by looking up the relevant schemas and searching for the \"Cyberdyne Systems\" organization in parallel.","options":{}},{"type":"tool-call","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01YYTt6PSo261SUXM1DkyVov","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:21.230Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" search 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 a reference to that organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n\nLet me create the organization first.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ev8CClkIDRgCKkBwFgQukbcsPz0njYGp6UFp2K9DvyzkqoXYEj1H2jvcvBBroPl5URCtizS6l+HgGliI1huTS4sYkwj5U8LjZ9rhMg9jbGF1ZGUtb3B1cy00LTY4ABIMyDtY2430wvDRi3yeGgypdHjI0b4sRlUrVjoiMEnDSEt+MeDJIXRC7cKMDHdOqT8U0jQKLi4/rK65HmYUcj2ZLN7lAZtduISnzpj/CCrTAQMdBDWnk+iLr4wGVvG2buHREhkkSYUqvj/tLTCmT1rGxZ0mTa4YBwcsUr2yZA5173yBirwLjIuuj3rM0vRGSIEwY2XvS6s/tutHwvvkR1M7O3ygfAqkTpCdmDWeiybzsUXirDI0cR1itl7syoVpv814Iy6AN0aCiniYiLTL63iWSeHv12ybYDcHPn1H7hH6sQB8KPYuKYehTHKbf9CK+lrFwc939azrLY9b7G/u42WvgbdwYI49NJz42MzJdZYwettkYkgFprE+vdP3cnvfiqak5LkYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"No existing \"Cyberdyne Systems\" organization was found, so I'll create it first,","metadata":{}},{"type":"text-delta","id":"1","delta":" and then create the person with a reference to it.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":"{\"typename\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":" \"org.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":"dxos.type.o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":"rganization\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":", \"data\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":" {\"name\":\"C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":"yberdyne Sys","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":"tems\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","delta":"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":175,"totalTokens":176},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4216},"cache_creation_input_tokens":4216,"cache_read_input_tokens":6352,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a person with fullName=\"John Doe\" and a reference to the organization \"Cyberdyne Systems\". I need to:\n\n1. Find the schema for person and organization types\n2. Find the organization \"Cyberdyne Systems\"\n\nLet me start by listing schemas and searching for the organization.","options":{}},{"type":"text","text":"I'll start by looking up the relevant schemas and searching for the \"Cyberdyne Systems\" organization in parallel.","options":{}},{"type":"tool-call","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The search for \"Cyberdyne Systems\" returned no results. I need to create the organization first, then create the person with a reference to that organization.\n\nLet me create the organization first.","options":{}},{"type":"text","text":"No existing \"Cyberdyne Systems\" organization was found, so I'll create it first, and then create the person with a reference to it.","options":{}},{"type":"tool-call","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","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_01MAvm3QUexiDCDe9CTgaXzT","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTHS","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHS","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01SW6c7DDYhXVzojJjxs7pmK","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:25.399Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Now","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" I have the organization created. I'll create the person with a reference to the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EpwCClkIDRgCKkC0OU0RFOtUBkR6DafOdZDuxQj3c0QP6bVUymX+tLmlOFScJb7jXV6MyuK97jfXagyJxc/yVkumWoZGWDdzPdqYMg9jbGF1ZGUtb3B1cy00LTY4ABIMx8DIRt/VdYfTfED0GgygPy+P0yQXBenAc+oiMIWhrtN35Avk/gx/5fT81UY7sYMumtCVpj72RrSsOiijJXL12nns8tu/oy9gRD3iMypxkpV/1axAHj+C30hKh5469h+bttQg7DkdvG1qr1x2+HYDZ4F5zCu8BXwCJLODNmK+RDAJVuZBhTkBC0W3ChmlTbXeR9veOF109+omL+3u+S+Y6ZlOSNFpwIq+7qBDiLxSmk2qzK1QLHaP2xzQgnts/OMYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"The organization \"","metadata":{}},{"type":"text-delta","id":"1","delta":"Cyberdyne Systems\" has been created. Now I'll create the person with a reference to it.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_014QVaGF3PchFeredFZbiTLL","name":"create-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"{\"typenam","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"e\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"\"org","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":".dxos.type.p","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"ers","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"on\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":", \"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"at","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"a\": {\"fullNa","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"me\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"\"John ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"Doe\",\"organ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"iza","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"tion\":{\"/","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"\":\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"dxn:echo","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":":BDJXMULPW5F","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"B55UZ7","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"DHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"TXUTHE2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":":0","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"1JGFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"JZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"G0WKQSJGMA","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"KCNTH","metadata":{}},{"type":"tool-params-delta","id":"toolu_014QVaGF3PchFeredFZbiTLL","delta":"S\"}}}","metadata":{}},{"type":"tool-params-end","id":"toolu_014QVaGF3PchFeredFZbiTLL","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":208,"totalTokens":209},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":270},"cache_creation_input_tokens":270,"cache_read_input_tokens":10568,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create a preson fullName=\"John Doe\" with a reference to the organization \"Cyberdyne Systems\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a person with fullName=\"John Doe\" and a reference to the organization \"Cyberdyne Systems\". I need to:\n\n1. Find the schema for person and organization types\n2. Find the organization \"Cyberdyne Systems\"\n\nLet me start by listing schemas and searching for the organization.","options":{}},{"type":"text","text":"I'll start by looking up the relevant schemas and searching for the \"Cyberdyne Systems\" organization in parallel.","options":{}},{"type":"tool-call","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","name":"query","params":{"text":"Cyberdyne Systems","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_019jvcbYRoB21oAvbb7sGL3A","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_016mXexaCgzDQGC7XS4JdSbi","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The search for \"Cyberdyne Systems\" returned no results. I need to create the organization first, then create the person with a reference to that organization.\n\nLet me create the organization first.","options":{}},{"type":"text","text":"No existing \"Cyberdyne Systems\" organization was found, so I'll create it first, and then create the person with a reference to it.","options":{}},{"type":"tool-call","id":"toolu_01MAvm3QUexiDCDe9CTgaXzT","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_01MAvm3QUexiDCDe9CTgaXzT","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTHS","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHS","name":"Cyberdyne Systems"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Now I have the organization created. I'll create the person with a reference to the organization.","options":{}},{"type":"text","text":"The organization \"Cyberdyne Systems\" has been created. Now I'll create the person with a reference to it.","options":{}},{"type":"tool-call","id":"toolu_014QVaGF3PchFeredFZbiTLL","name":"create-object","params":{"typename":"org.dxos.type.person","data":{"fullName":"John Doe","organization":{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHS"}}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_014QVaGF3PchFeredFZbiTLL","name":"create-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTKA","@type":"dxn:type:org.dxos.type.person:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTKA","fullName":"John Doe","organization":{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHS"}}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_019jvYBDC4GY8pzgdDmUbsc2","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:29.388Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! Here's a summary of what was created:\n\n1. **Organization** — *Cyberdyne Systems* (`","metadata":{}},{"type":"text-delta","id":"0","delta":"dxn:echo:...01JGFJJZ00G0WKQSJGMAKCNTHS`)\n2. **Person** — *John","metadata":{}},{"type":"text-delta","id":"0","delta":" Doe* (`dxn:echo:...01JGFJJZ00G0WKQSJGMAKCNTKA`) with the `organization` field refer","metadata":{}},{"type":"text-delta","id":"0","delta":"encing **Cyberdyne Systems**.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":113,"totalTokens":114},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":385},"cache_creation_input_tokens":385,"cache_read_input_tokens":10838,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the organization \"Obsolete Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01TyDhmtFDQoYAY6oXEEp9iW","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:33.329Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me search for the organization \"Obsolete Corp\" first to find its ID.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoMCClkIDRgCKkBh5cBbPReV0hFl90boBATi5YxFuSAyCHHlM+0e2D5QuBIJcNj0c0QNhoSa89PneLYY4zwknzexmdzGdIM+OhIsMg9jbGF1ZGUtb3B1cy00LTY4ABIMlaDEPve8ZQgNnRDrGgwJ0kxRZvKx7VrjwM0iMFcZtGWr0LTua6xViUXqKeIsS25YCOK8NQ2Kl09XGl49K14fW9CGul/ObfNQFYDsJSpY0n3GJPtIqs7gr3Cg0YAItqO5vcvTGUVWQLh+mmUJ6s8M/wQuhEYfwYX1h43Ew1JzMJlFCc/8sgIjhIRae8aZEpWgJFAegFrqd+SmsCi8LGRgbq9cJSekFxgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me find the organization \"Obsolete Corp\" first.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":"{\"text\": \"Ob","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":"solete Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":"\"includeCont","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":"ent\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":" false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":", \"limit\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","delta":"5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":138,"totalTokens":141},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6337},"cache_creation_input_tokens":6337,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":33,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the organization \"Obsolete Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for the organization \"Obsolete Corp\" first to find its ID.","options":{}},{"type":"text","text":"Let me find the organization \"Obsolete Corp\" first.","options":{}},{"type":"tool-call","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","name":"query","params":{"text":"Obsolete Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTM2","typename":"org.dxos.type.organization","label":"Obsolete Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01XFWUYGjEUCyUwam1wgH3FG","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:36.781Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found it","metadata":{}},{"type":"reasoning-delta","id":"0","delta":". Let me delete it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtYBClkIDRgCKkBxIHeOPVyy4vswklm2nrhYYQAmSSp35sA5Kn6tRV3hr4vNiBxsxlpgzSxwusjC2BYTy0lzT8FL2NWBP/vvqrLjMg9jbGF1ZGUtb3B1cy00LTY4ABIMrVGvdeqYyfVPnjSpGgwyHDSjMumJTWAB4m4iMJIi7RJuVdlYmE6gYxLS/s1Yi2mHQMDkKly9pt71163yoylayfFYpmbAZwjifLpZRCorRBvjdkfTeZTeTrzab4ClWnTbKkis7OSQ4ekwoy83H3PmZu0wTR5rxJFsRBgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Found the organization \"Obsolete Corp\". Deleting it now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","name":"delete-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"{\"obj\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":": \"dxn:echo:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"MUL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"PW","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"5FB55","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"UZ7KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"DHVTXUTH","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"E2U:01JGFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"00G0WKQS","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"JGMAKCNTM","metadata":{}},{"type":"tool-params-delta","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","delta":"2\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":146,"totalTokens":147},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":213},"cache_creation_input_tokens":213,"cache_read_input_tokens":6337,"input_tokens":1,"output_tokens":9,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the 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_01T4SXmvnWHBFkNeRFd3a9SP","name":"query","params":{"text":"Obsolete Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01T4SXmvnWHBFkNeRFd3a9SP","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTM2","typename":"org.dxos.type.organization","label":"Obsolete Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found it. Let me delete it.","options":{}},{"type":"text","text":"Found the organization \"Obsolete Corp\". Deleting it now.","options":{}},{"type":"tool-call","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","name":"delete-object","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTM2"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01B2mKwop1nHegQCvzh6SW3C","name":"delete-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0125zeckY7pR476Z5w3vciSZ","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:39.917Z","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":146},"cache_creation_input_tokens":146,"cache_read_input_tokens":6550,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Update the organization \"Old Name Inc\" and change its name to \"New Name Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01VoAbRcKU9h7tPHYQs2GCYo","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:41.594Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me search for the organization with the name \"Old Name Inc\" first.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EoECClkIDRgCKkBr6ZF6D7+FwA0kFy96/aj0//Yp51g83o7SKaBA84k4QeooyN6vSOI/pbn0p16qnlD03LjVtOeqS2lSwPin+zFkMg9jbGF1ZGUtb3B1cy00LTY4ABIMZyeqDaBIeTXt4WqXGgzKmayC7Rp9mu4Q/poiMOjvTMauhW0/Vq+BhfyXmC52BOnvYbjVe12ox27ib2zV69XUciKhH/J++xDyXsTBMCpWEufY/oSRV2o7HEcKHXEYEfESfM0pT5dZWQajNnZJcQamtMahh5iJa4SLc0GVq5Du7Mw+VbapDZkLeGwgKh3mlkJj/7YgaxXfTnNhQTrkdePP5MKVsXoYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first","metadata":{}},{"type":"text-delta","id":"1","delta":" find the organization \"Old Name Inc\" in the space.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":"{\"text\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":": \"Ol","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":"d Name Inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":", \"include","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":"Conte","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":"nt\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":", \"li","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":"mit\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","delta":" 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":137,"totalTokens":140},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6346},"cache_creation_input_tokens":6346,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Update the organization \"Old Name Inc\" and change its name to \"New Name Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for the organization with the name \"Old Name Inc\" first.","options":{}},{"type":"text","text":"Let me first find the organization \"Old Name Inc\" in the space.","options":{}},{"type":"tool-call","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","name":"query","params":{"text":"Old Name Inc","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTPA","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPA","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTP9"}},"key":"org.dxos.blueprint.database","name":"Database","tools":["org.dxos.function.database.context-add","org.dxos.function.database.context-remove","org.dxos.function.database.load","org.dxos.function.database.object-create","org.dxos.function.database.object-delete","org.dxos.function.database.object-update","org.dxos.function.database.query","org.dxos.function.database.relation-create","org.dxos.function.database.relation-delete","org.dxos.function.database.schema-add","org.dxos.function.database.schema-list","org.dxos.function.database.tag-add","org.dxos.function.database.tag-remove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNTPG","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPG","name":"Old Name Inc"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012tYir3KxzTpUZHJriWhBB7","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:44.883Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found the organization \"Old Name","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Inc\" with ID `01JGFJJZ00G0WKQSJGMAKCNTPG`. Now I'll update its name to \"New Name Corp\".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErQCClkIDRgCKkBLo+MTUqsF2tsu9fV3l9avmbGmT+k+0FMkRToGhFU/1sscPHtpyMdlHnIbH6hRE5npaCds/1V0/1/VcPBgekeWMg9jbGF1ZGUtb3B1cy00LTY4ABIMsttTwyTkL2le0ZH3GgxO4JNRKaUAcHqCQtIiMO9Q2wRl0ovIBIucyvqj2oM+gaLleZSmqNHhI1qvBEQQo653rYYWSt0vkj49heHBdSqIAXT4KaV4CG1q4dUItcQ0ToJQog/IBsuUxOzUJxSPhTXMlbOx8/7tGKyMvgQ6HQOORbdBVaENRUN4gHJK0f2x3GmrfVc8rLorEfkgRoRr/0sWR11up2vTikssFrLbHBL4mxafdW1U/KYN3+sleqjsuE3G2Bc4vsWyZuU1Th/FyxyNRa/svhv8Ae0YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I","metadata":{}},{"type":"text-delta","id":"1","delta":" found the organization \"Old Name Inc\". Let me update its name to \"New Name Corp\".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","name":"update-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"{\"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"bj\": \"01","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"JGFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"0WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"QSJGMAKCNTPG","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":", \"p","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"roperti","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"es\": {\"na","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"me\":\"New ","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"Name Co","metadata":{}},{"type":"tool-params-delta","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","delta":"rp\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","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":638},"cache_creation_input_tokens":638,"cache_read_input_tokens":6346,"input_tokens":1,"output_tokens":13,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Update the organization \"Old Name Inc\" and change its name to \"New Name Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for the organization with the name \"Old Name Inc\" first.","options":{}},{"type":"text","text":"Let me first find the organization \"Old Name Inc\" in the space.","options":{}},{"type":"tool-call","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","name":"query","params":{"text":"Old Name Inc","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SHr26SrSmRH9xNaDoR6V3M","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTPA","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPA","agentCanEnable":true,"description":"Query and manipulate objects in the ECHO database.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTP9"}},"key":"org.dxos.blueprint.database","name":"Database","tools":["org.dxos.function.database.context-add","org.dxos.function.database.context-remove","org.dxos.function.database.load","org.dxos.function.database.object-create","org.dxos.function.database.object-delete","org.dxos.function.database.object-update","org.dxos.function.database.query","org.dxos.function.database.relation-create","org.dxos.function.database.relation-delete","org.dxos.function.database.schema-add","org.dxos.function.database.schema-list","org.dxos.function.database.tag-add","org.dxos.function.database.tag-remove"]},{"id":"01JGFJJZ00G0WKQSJGMAKCNTPG","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPG","name":"Old Name Inc"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found the organization \"Old Name Inc\" with ID `01JGFJJZ00G0WKQSJGMAKCNTPG`. 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_0188dicH9RgVAfBxDFw7gEAX","name":"update-object","params":{"obj":"01JGFJJZ00G0WKQSJGMAKCNTPG","properties":{"name":"New Name Corp"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_0188dicH9RgVAfBxDFw7gEAX","name":"update-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNTPG","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTPG","name":"New Name Corp"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_018mm6RdSZdixPzna73B4bKU","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:48.719Z","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":269},"cache_creation_input_tokens":269,"cache_read_input_tokens":6984,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Search for all organizations. How many are there?","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01MAkmRHdudo4KUyHhToqS4W","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:51.593Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Let me search for organizations. I need to find the right","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" typename first. Let me query for organizations.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqQCClkIDRgCKkBGt/ztfDXLPpxROqo23zPjDaOskfpj4SMvlz8ufpS9xs+Omq6iT1kp6rCf7kAkQki/U2us3K429CHy1HVZaW+6Mg9jbGF1ZGUtb3B1cy00LTY4ABIMg/4qeVKyLicRdAthGgycXiDY474SAydx+HciMPEVomxlUfZNgkSMDBzr3gnBGOuMDKiHFCQpiKFaJOeql6jsYA/bEzN2rCXzzCStsip5GZNwEkjwgcUlf5t2n0x6TMEaS4YZsOiw0BIudDvOV/2Ob9RrvtdRqs9GNwhvc8LW6bOaBOPr+aHTfMbaQcE9+QAESgTUwy7uT8Thka8nh9/eLLXT3jfRiaXpndhz3bZfSIdO3gcVr/OYg+xLmKBDx0d0PHzUSDQ+xhgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":"{\"typename\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":": \"org","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":".dxos.type","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":".organizatio","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":"n\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":", \"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":"deContent\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":" false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":", \"limit\": 5","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","delta":"0}","metadata":{}},{"type":"tool-params-end","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","metadata":{}},{"type":"tool-params-start","id":"toolu_01T4aQvi5uTpMrbLtUX5US4B","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01T4aQvi5uTpMrbLtUX5US4B","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01T4aQvi5uTpMrbLtUX5US4B","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":151,"totalTokens":154},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6338},"cache_creation_input_tokens":6338,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":20,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Search for all organizations. How many are there?","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Let me search for organizations. I need to find the right typename first. Let me query for organizations.","options":{}},{"type":"tool-call","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","name":"query","params":{"typename":"org.dxos.type.organization","includeContent":false,"limit":50},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01T4aQvi5uTpMrbLtUX5US4B","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01XJDJepGcj7KKoZmg3xitG5","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS4","typename":"org.dxos.type.organization","label":"Acme Corp"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTS6","typename":"org.dxos.type.organization","label":"Globex Industries"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01T4aQvi5uTpMrbLtUX5US4B","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01QZpAy11DDq418bZ3HwWVVs","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:54.544Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" query returned 2 organizations: Acme Corp and Globex Industries","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ev8BClkIDRgCKkDDmO0KUTgPwyxclekKTdFmyYv5Rj4bLlkehVtHOL5OWDq+nCoUBticl1QReqD2xxhA6gUY2XaNPX38ZVqUF7l6Mg9jbGF1ZGUtb3B1cy00LTY4ABIMuQTaJs1dM9DXbUYnGgwttuZCrxfXDFh0JEMiMC0mQoTlWF+qsqJEx/uKO/lFClMRqGc0haz29TnuDwHLspPwvTsprLJNM8g/ONVy5ypURcOQWYzRB7TIGOHIIQ4FAFmtxW5AUh3Vo6CLa74p2nva2dsfFqwgXbojuPoLV8tmhAG5WbVbmR2IPGDG8ITLY1fF0aL2gCvkBWqd1wOD01DItLDlGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"There are **2 organizations** in the space:\n\n1. **Acme Corp**\n2. **Globex Industries**","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":65,"totalTokens":66},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4357},"cache_creation_input_tokens":4357,"cache_read_input_tokens":6338,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Load the full details of object dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTV2. What is its description?","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01PQrTobyPi5fo9d4RsiBkcG","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:23:57.949Z","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":"EoUCClkIDRgCKkA7Y9fODXxvMuU7fx9k0R3YpCrkenmhff2vz3OQ3D8yVwERB9NQbM9NzKfJQkZwQ+x5INZyftHXIxMF+QTg1uS6Mg9jbGF1ZGUtb3B1cy00LTY4ABIMM0D9cDAaTyMi+cZuGgy84eUwcljPPRZn3/4iMB0tSUoBJWXQ0FtQjtRzQu34qt2dVMsGfHvxEQn1zTDf4FauFn20iDXzL90B6IFVICpatsz8+7hVQj0YnqMCW7hFYYMmkR5EnrrzV+ikDGemg5MPcXbTC8S1v8/WbGoC0xQzESfAMI96O3DFisv8it37wzSzhwV1PDuP4T9qB8yZRsBgTHPXByhdOuRUGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","name":"load-object","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"{\"refs\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":" [\"dxn","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":":echo:BDJX","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"MULPW5FB55UZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"7KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"5H","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"LDHVTXUTHE2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":":01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"GFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"00G0","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"WKQSJGMAK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","delta":"CNTV2\"]}","metadata":{}},{"type":"tool-params-end","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":140,"totalTokens":143},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6395},"cache_creation_input_tokens":6395,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":39,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Load the full details of object dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTV2. 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_01CB5XcdkvGJFopUc4CmS6tC","name":"load-object","params":{"refs":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTV2"]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01CB5XcdkvGJFopUc4CmS6tC","name":"load-object","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNTV2","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTV2","description":"A detailed organization.","name":"Detail Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01MryC76oYF4kbmuBbGNZEre","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:01.323Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The object has been loaded.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Let me provide the details to the user.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ev4BClkIDRgCKkCKOSPgW6VrGihqE4zPDCJLBwhL/kS2VXZB7xp+uIo/fEE4n7n3ypC3NeQvBclM0mfkmW0EwKvvfaSACVdXRRVOMg9jbGF1ZGUtb3B1cy00LTY4ABIMogEGCXAupLOrnaKeGgyAmdWncR9u5cRFvAYiMMyLPsiOdvb6JqZoS2TvrmVUdRWe4AZKqYwyaKLA01VswXlMSjhiVAsJjzWphSgitCpTw/dKHBk+aYD+LN3uLGOqskbDMCEY9uO7ZzK3M4BBbUdNoKF/OciQ/hEzC9X3O7gvLPHoN9Qq/CW5lybxk0Tz9gIK99zUdjBTAS8NEG0FXpj4+SUYAQ=="}}},{"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-","metadata":{}},{"type":"text-delta","id":"1","delta":" **DXN:** `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WK","metadata":{}},{"type":"text-delta","id":"1","delta":"QSJGMAKCNTV2`\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\nSo, its description is **\"A detailed organization.\"**","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":271},"cache_creation_input_tokens":271,"cache_read_input_tokens":6395,"input_tokens":1,"output_tokens":13,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create an Employer relation from person \"John Connor\" to organization \"Cyberdyne Systems\" with role \"Engineer\". List schemas first to find the relation typename.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01NqJve4Djt5E1WimDN3n3YX","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:06.397Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to create a relation between two objects. Let me first","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" list schemas to find the relation typename, and also search for the two objects mentioned.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtwCClkIDRgCKkAysUhZ4B0vd0N+AfZTUJbKxvRRshVkPvPjEop3VSFO6ML9nSki/E1TtXxAuMPsPM0yHWYtFADMZVbh5iOe9mDrMg9jbGF1ZGUtb3B1cy00LTY4ABIMkFZOq0qCTnjjbMm5Ggw0Rsmq+K1wYBzjrVMiMFgt651mx1vPTDxtseVqbjWB8IV4cv45ZsTeY9sOZ+XPIyhM/1eSWH+MYXSQ9oA7siqwATRCBOSyRtHAZLnyyPUaxEVeJMdXdhA+a0NTIPTZSc1xFAqTEcxq3crezgLg0ZnHZlguaBNnLr1Ogr6nd+pF0ZxImGPeso672cZcCTFf8143FvWLeisE6EBt7+QLq/t8aUzodBmUqn2QZQ9864SQBHYemZCp30IoYyYlnKrvHvzPLkbVOg/akwrh8uLuT7kHvJssrjxrDS54kC2pK7UHvd7Ir0obc/Jq3BjsVZucU6JXGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll start","metadata":{}},{"type":"text-delta","id":"1","delta":" by listing the schemas to find the right relation typename, and simultaneously search for both \"John Connor\" and \"Cyberdyne Systems\".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01Ur71Y6gsJYkasK3DpYAUgK","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Ur71Y6gsJYkasK3DpYAUgK","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01Ur71Y6gsJYkasK3DpYAUgK","metadata":{}},{"type":"tool-params-start","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"{\"text\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"\"John Conn","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"or\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"\"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"deCon","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"tent","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"\": fa","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"lse","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":", \"lim","metadata":{}},{"type":"tool-params-delta","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","delta":"it\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","metadata":{}},{"type":"tool-params-start","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"{\"text\": \"C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"yberdyne Sys","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"tems\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":", \"includeC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"ontent\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":" fa","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"lse","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":", \"li","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"mit\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","delta":"5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","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":6362},"cache_creation_input_tokens":6362,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":22,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create an Employer relation from person \"John Connor\" to organization \"Cyberdyne Systems\" with role \"Engineer\". List schemas first to find the relation typename.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a relation between two objects. Let me first list schemas to find the relation typename, and also search for the two objects mentioned.","options":{}},{"type":"text","text":"I'll start by listing the schemas to find the right relation typename, and simultaneously search for both \"John Connor\" and \"Cyberdyne Systems\".","options":{}},{"type":"tool-call","id":"toolu_01Ur71Y6gsJYkasK3DpYAUgK","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","name":"query","params":{"text":"John Connor","includeContent":false,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","name":"query","params":{"text":"Cyberdyne Systems","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Ur71Y6gsJYkasK3DpYAUgK","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWT","typename":"org.dxos.type.person","label":"John Connor"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWW","typename":"org.dxos.type.organization","label":"Cyberdyne Systems"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01JdKQgfKFvpo5uqzDtPE5N1","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:10.964Z","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. The relation typename is `org.dxos.relation","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".employer` - it goes from person (source) to organization (target), with","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" properties including `role`, `active`, `startDate`, `endDate`.\n2. John","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Connor: `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWT","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"`\n","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n\n3. Cyberdyne Systems:","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWW`\n\nNow I'm","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" ready to create the employer relation linking John Connor as the source to Cyberdyne Systems as the target.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eq8FClkIDRgCKkADpslQeKc4A8MzOK3+uFwBDL1aSMMDa2DkW6poxUlr8bUIPqIHk6GygNE16XuV9AvVXhM674ILB6e1sn7VXKoJMg9jbGF1ZGUtb3B1cy00LTY4ABIM8TCctRcYH4UHMT3xGgw8W0ojE6RB1eeaK+ciMEjjDvurqQAyXYxQLdNc0kZY25r/DZjKD9jDnqtEl2V7Hjpha5KHn8Ixx4WdQnt0ZSqDBDKveXJmCjUw0HUdgLZ8duVj7gfnytDb9biUnskdQ9pMv95PBS2+KkIgAijqNaR22793KdTKSo7bMcIXJ6EhwdHgaaTohYADd1xYJ8Tcv7uPB6M/rrSvbbUo3JfRO6TqxSNSchG8tPh53itpqaBFO4J5J3KoCzE56bnPYVxAFfWiokEetbqsYxhCIdYIWjX6U8z1Fcdlio8PjEAXatW/4IuWdaz8fykYsXLz2EEPHKPZzfL6/vF45BQMXwwKnMN//Xb/9SREGQBAFCG8m+OvAjFzKxe+jQ2cN6k7VQO+2nXh7eKLFLkxIRVaGtWsi3j9sgFXWowIR3I3SJIxkXXeA/vCHbxLIbAmRCCrppZnlE4QAXbTLluaecAWqbTvHmIeJen0p1MABBBRdDHmCukrBgA3HtjBKtX56fbK5DVaWVtjEGvTmHmmhDd0Q2gA3Gfm1fdRK+xNGl4TtE5qMG+XE6W1+Gje/kpM0u4bRH3IaCaCuSayQeIw/P5QXCtG+JCJMZtcRnyajjMbERUnm8lD+8lTBRW/I8dAT7TgH/W8zYRO8LP/RNaT8klSOvxcYGN9wvVAuMrfuassxxzt6tlOc1B2sXPYNlFTL7DUlqsJ0xt1vdBRWPZholqdCeBDT5MlNlg+2iMJ/mtQUGLmUUfChdf5iinKTL+a39oy+6p9xBq6IusjGAE="}}},{"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` (","metadata":{}},{"type":"text-delta","id":"1","delta":"source: person → target: organization), and both objects. Now I'll create the relation.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","name":"create-relation","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"typename\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":" \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"org.","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"dxos.relat","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"ion.employe","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"r\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":", \"sour","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"ce\": \"dxn:e","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"cho:BDJXMUL","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"PW5FB","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"55UZ7K","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"P5HLDH","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"VTXUTHE","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"2U:01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"GFJJZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"G0","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"WKQSJGMAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"TWT","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":", \"target\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":" \"dxn:echo:","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"BDJXMU","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"LPW5FB55U","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"Z7KP5HLDH","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"VT","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"XUTHE2U:01JG","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"FJJZ00G0W","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"KQSJGMAKCNTW","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"W\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":", \"proper","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"ties\": {\"ro","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"le\":\"Enginee","metadata":{}},{"type":"tool-params-delta","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","delta":"r\"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":486,"totalTokens":487},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4492},"cache_creation_input_tokens":4492,"cache_read_input_tokens":6362,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Create an Employer relation from person \"John Connor\" to organization \"Cyberdyne Systems\" with role \"Engineer\". List schemas first to find the relation typename.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to create a relation between two objects. Let me first list schemas to find the relation typename, and also search for the two objects mentioned.","options":{}},{"type":"text","text":"I'll start by listing the schemas to find the right relation typename, and simultaneously search for both \"John Connor\" and \"Cyberdyne Systems\".","options":{}},{"type":"tool-call","id":"toolu_01Ur71Y6gsJYkasK3DpYAUgK","name":"list-schemas","params":{},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","name":"query","params":{"text":"John Connor","includeContent":false,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","name":"query","params":{"text":"Cyberdyne Systems","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Ur71Y6gsJYkasK3DpYAUgK","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01U9tNYFTTKmxWfHFdEVRE3D","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWT","typename":"org.dxos.type.person","label":"John Connor"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01BU1YPBwoVBudGuax1rhJjF","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWW","typename":"org.dxos.type.organization","label":"Cyberdyne Systems"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found everything I need:\n\n1. The relation typename is `org.dxos.relation.employer` - it goes from person (source) to organization (target), with properties including `role`, `active`, `startDate`, `endDate`.\n2. John Connor: `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWT`\n\n\n3. Cyberdyne Systems: `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWW`\n\nNow I'm ready to create the employer relation linking John Connor as the source to Cyberdyne Systems as the target.","options":{}},{"type":"text","text":"I found the relation schema `org.dxos.relation.employer` (source: person → target: organization), and both objects. Now I'll create the relation.","options":{}},{"type":"tool-call","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","name":"create-relation","params":{"typename":"org.dxos.relation.employer","source":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWT","target":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTWW","properties":{"role":"Engineer"}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_012inVXKFK1Kb6aFrjZs2y2n","name":"create-relation","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNV0J","@type":"dxn:type:org.dxos.relation.employer:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV0J","@relationSource":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTWT","@relationTarget":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTWW","role":"Engineer"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01561Jo9XrRQH9ACVC77T43D","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:24.254Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" relation was created successfully.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuEBClkIDRgCKkCuc2zGdF/RGz32S4l5ftvCq9ZYcY6NVOagV77V7jb9kHGINolxqdpzLOtTuKCnrmgCcnchwN3NmTKe9g8MvtLEMg9jbGF1ZGUtb3B1cy00LTY4ABIMSuK02wfuv/hGVEx2GgzV5om0pDgMyoB5kJgiMJ+gvY0ARKYg+3jusWJ2euTihxbjO0d1G2pMxXOqq+TI7symhPdjlpcjtvNALxMmhyo2soxb04jim5ogD3+XB4ZkzJcm8LPRAc4/CAF+bjipf/ZAMl+/DVh0eeY/2GtkcJTcHQ8dYkZ4GAE="}}},{"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","metadata":{}},{"type":"text-delta","id":"1","delta":" a summary:\n\n- **Relation type:** `org.dxos.relation.employer`\n- **Source (Person):** John Connor\n- **Target (Organization)","metadata":{}},{"type":"text-delta","id":"1","delta":":** Cyberdyne Systems\n- **Role:** Engineer","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":87,"totalTokens":88},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":481},"cache_creation_input_tokens":481,"cache_read_input_tokens":10854,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the relation dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV1J.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_017Vj9hPLHfRj8uDUKg9xASm","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:28.134Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to delete a relation with the specified DXN.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvYBClkIDRgCKkAooWMla9zdyuYowsAZf8EbG/U7povp4hZIWUyG3DXMBLg/jJT4bB3A1rxz+TjLSmOJ/A4YzhmcscQhxmlCAKRYMg9jbGF1ZGUtb3B1cy00LTY4ABIM6IvnqkrWWuxLmVxaGgxxsvyPJnFxiYY7bRYiMKieM6Ug3AUVnRzjhxibhqvPRk+e7e90WdEtefy523+D1wENOowJJibf2fbbCUNfuCpLk+T/+uIJ5f/ZyP1Lxdx3iAIYbrP9LKIzvcca0Z9yzFvcaf+gHojhvUkqKL6JY2SqjsW9PVr5Aiv5sQLitIkF6XnnrwMQ2lmraYEkGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01SaDF6PJab8DKiM4R1idACf","name":"delete-relation","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"{\"rel","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"\": \"dxn:e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"cho:BDJXM","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"ULPW5FB55UZ7","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"DHVTXUTHE2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":":01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"GFJJZ00G0WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"QSJGMAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SaDF6PJab8DKiM4R1idACf","delta":"V1J\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01SaDF6PJab8DKiM4R1idACf","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":6388},"cache_creation_input_tokens":6388,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":38,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Delete the relation dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV1J.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to delete a relation with the specified DXN.","options":{}},{"type":"tool-call","id":"toolu_01SaDF6PJab8DKiM4R1idACf","name":"delete-relation","params":{"rel":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV1J"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SaDF6PJab8DKiM4R1idACf","name":"delete-relation","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01PNkc2VFohbMY4jsQCx4aKW","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:35.383Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" relation has been successfully deleted.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":10,"totalTokens":11},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":134},"cache_creation_input_tokens":134,"cache_read_input_tokens":6388,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add tag \"important\" to the organization \"Tagged Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0167DzT8gGe2nSSm3rypZ6RP","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:38.045Z","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","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" for both.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ep4CClkIDRgCKkAe9/78cKbEYg4dHTAmi41rmgkPJfv3hol5C8gbpy5cznibPKRLbHNx2xTxhATvzx8mfoib8hmqVa1/6i8lEcY5Mg9jbGF1ZGUtb3B1cy00LTY4ABIMo5SBylbBdDjoK7muGgxuJ8TKOC/bUQLck4wiMDoLNpfbpK0SACf68GuokpqiQ5KrHjgmP8eN8kHwUzQz/nG6AgCbVvpOC5feg6T2ICpzR7nPSrt8s0nA91Oh4xOKuHbO3o50KSppvyemIkIrG7m7mqKwW4dg2T7c0C6DN8uvdDJ84Wew/wX3UoH0VIlxaX6WRUhrDkr4OizaOb8N2uQA9ZSLUOJa/aL2hD30NuR5hLglHbEulyTUiYgfvBmvtRfugxgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I'll search for the \"important\" tag and the \"Tagged Corp\" organization simultaneously.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"typename","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"\": \"org.dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"os.type.tag\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"\"te","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"xt\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"impo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"rtant\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":", \"includeC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"ont","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"ent\": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":", \"lim","metadata":{}},{"type":"tool-params-delta","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","delta":"it\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","metadata":{}},{"type":"tool-params-start","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"{\"t","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"ext\": \"Tagg","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"ed Cor","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"p\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":", \"inc","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"lud","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"eContent\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"true","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":", \"li","metadata":{}},{"type":"tool-params-delta","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","delta":"mit\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":242,"totalTokens":245},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6340},"cache_creation_input_tokens":6340,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":29,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"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 the \"important\" tag and the \"Tagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","name":"query","params":{"typename":"org.dxos.type.tag","text":"important","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","name":"query","params":{"text":"Tagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV32","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV32","label":"important"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV30","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV30","name":"Tagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01NBBukyE18PCyCyaa2yxQfy","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:47.086Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" both the \"important\" tag and the \"Tagged Corp\" organization. Now I'll add the tag to the organization.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EqcCClkIDRgCKkDvGPnib9dR+gN76w9Ln+RK/JOtDdAM9NiJcGJKSMe2NUVefpplNeFuCLlY253K7cEQO9dhuIoEDMVLvH8fgEVtMg9jbGF1ZGUtb3B1cy00LTY4ABIMgDIpXul9hEAsx6HOGgwK9BnQehicJp7eT5siMNGvB835N60Q0VBGr7iB8fNrezK1XmkKvfY/PDV9UtZFWyUYjb++BhHhIPbAPJ+hnyp896e5bXPNlUYc5DX8gRrhySILqXQ93d1Mr3boQG4quyhSbhf9VJVYecJxrOgwKBl9VcgtbkzGFoClBfDqwhVTc2h4048En2j09lZohxzGwTGqBx392XjgDpRItewa9tu20tFntuw8ukDLLAl5FnSS15JwBHG+VjEkkfNs9xgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I","metadata":{}},{"type":"text-delta","id":"1","delta":" found both the \"important\" tag and the \"Tagged Corp\" organization. Now I'll add the tag to the organization.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","name":"add-tag","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"{\"tag\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"dxn","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":":echo:","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"BDJXMU","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"LPW5FB55UZ7","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"KP5HLDHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"TXUTHE2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":":01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"GFJJZ00G0WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"QSJGMAKCN","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"V32\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":", \"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"bj\": \"dxn:","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"echo:BDJXMU","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"LPW5FB55","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"UZ7KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"5HLDHV","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"TXUTHE2U:0","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"1JGFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"00G0","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"QSJGMAKCNV3","metadata":{}},{"type":"tool-params-delta","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","delta":"0\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":245,"totalTokens":246},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":542},"cache_creation_input_tokens":542,"cache_read_input_tokens":6340,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add tag \"important\" to the organization \"Tagged Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I need to find both the \"important\" tag and the \"Tagged Corp\" organization. Let me search for both.","options":{}},{"type":"text","text":"I'll search for the \"important\" tag and the \"Tagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","name":"query","params":{"typename":"org.dxos.type.tag","text":"important","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","name":"query","params":{"text":"Tagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01UVQiTZrURz8CdmVHULxvmR","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV32","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV32","label":"important"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_012tQW63tnNu52T5Xa1FcV2N","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV30","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV30","name":"Tagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found both the \"important\" tag and the \"Tagged Corp\" organization. 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_014wCxmyGHhX8Xq4AoRp3gDh","name":"add-tag","params":{"tag":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV32","obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV30"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_014wCxmyGHhX8Xq4AoRp3gDh","name":"add-tag","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNV30","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV32"]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV30","name":"Tagged Corp"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01TDMUCSDLDmCadL17ycxzjg","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:52.231Z","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":415},"cache_creation_input_tokens":415,"cache_read_input_tokens":6882,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove tag \"obsolete\" from the organization \"Untagged Corp\".","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012sVwuG8dXmejAmBpZJBPEL","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:24:54.806Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"I need to find both the \"obsolete\" tag and the \"Un","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"tagged Corp\" organization. Let me search for both.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ep8CClkIDRgCKkBDC3z4eB/vwosmyhcqLcRqxGShGkBSfcGQ5M6xvWRQMuqNWRnWGp5r8xsbnKQBmGrtmOmyGFMkaW76+/JEebovMg9jbGF1ZGUtb3B1cy00LTY4ABIM+hEC8uwAFCx91ApUGgx/K1uFQ9JLZ47xPpEiMKs94pqKd3bfXVkwEYTJNCC+zTIVJninYRpvfXLNRzJKLPf0clYrC6ql1/uNbwYWdyp0kTLiR2pRCtaqKkL6K5e5zGqaFFKD1DS0rn4EVm5MFwq/IUmFZvmP2Vt5jMZ8/bmvVxpbJ0ISIxXAcZ2D7XtmZEnIy96KMj7EinVLNnNoExokzd2P55fwMspyTmWvMBy6D++fmtS2hozeRDGT+XsqvjH4EB4YAQ=="}}},{"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_014gwquYJqDMrMhwSu8fEccW","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"{\"typenam","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"e\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"org.","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"dxos.type.ta","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"g\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":", \"text\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":": \"obs","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"olete\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":", \"includeCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"ntent\": t","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"ru","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"e","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":", \"lim","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"it\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_014gwquYJqDMrMhwSu8fEccW","delta":"5}","metadata":{}},{"type":"tool-params-end","id":"toolu_014gwquYJqDMrMhwSu8fEccW","metadata":{}},{"type":"tool-params-start","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"{\"text\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":" \"Untagge","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"d Corp\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"deC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"ontent\": tr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"ue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":", \"limit","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","delta":"\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","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":6344},"cache_creation_input_tokens":6344,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":24,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"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_014gwquYJqDMrMhwSu8fEccW","name":"query","params":{"typename":"org.dxos.type.tag","text":"obsolete","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","name":"query","params":{"text":"Untagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_014gwquYJqDMrMhwSu8fEccW","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV6Q","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6Q","label":"obsolete"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV6N","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6Q"]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6N","name":"Untagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_013zosgDXB6sZqCAi3EDRksZ","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:00.060Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" both. The tag \"obsolete\" has DXN `dxn:echo:BDJ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"XMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6Q` and the organization \"Untagged Corp\" has DXN `d","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"xn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6N`. ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n\nI","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" can confirm the tag is present in the organization's metadata array, so I'll proceed with removing it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Ev8DClkIDRgCKkDjIyZBrraFDKdYb3VwCWPyevV1GA6bnI7GAi++nKrkmZMhxQC0XadrUnUP6Z6sYfscIgPQ7vnj4uC8amC7bwkbMg9jbGF1ZGUtb3B1cy00LTY4ABIMBdUIxzn/ybMGbLAEGgyElidLdRHj0+pxqvsiMJfTsruM4guw4uwqrnn9B0ckiBP9SRGEQZKye1PbQhgnNBZKTNLR+mU/O/8ckzFKRCrTArW76y9tHkrqiEZEZJzTY4rreZ/qERpKkAdH9FkWWvjKNSPxj3d+Hy8DMXVo3wvvHW4ivJwFAnhs+LeuPs0eWoS8LF9VtsmNZ52o6Rk5llsDJWfOfaFjT4aad3iOkEpqqZyjotwzJs35huxC0YyudVOSBhp7sdBqlCYUWMRdUie6GOnW+mxtmmtwReQGD5BnpHF3/O+Iiut4NkMOdWQMETMedP+yH45fUZRXobJ+qQ8cbjsceGOChQFRlEw0d0TtyAty3Ufx9LadbnZzqq1L1kcEdMEw0x+CXKJvo0juBPEl5AsHggrjqrUlDrSTeZHsIb4KAFP/XgQazR2lLD/XW5s9R68e4ttuIZYRuh039r1VOLbtQNDdFP69hLNANTjEL/f1eQfe9EnXqKxUaK5Q+zWhUjtlj2WYdkw08G7Vle8ZApwJnjI+FSpMO7EVjd1sVkgixhgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found both the","metadata":{}},{"type":"text-delta","id":"1","delta":" \"obsolete\" tag and the \"Untagged Corp\" organization. I can see the tag is currently applied to the organization. Let me remove it now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","name":"remove-tag","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"{\"ta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"g\": \"dxn:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"echo:BDJXMU","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"LPW5FB55UZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"7KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"5HLDHVTXU","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"THE2U:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"01JGFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"00G0WKQSJGMA","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"KC","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"NV6Q\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":", \"obj\": \"dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"n:echo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":":B","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"DJXMULPW5F","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"B55UZ7KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"5HLDHVTXU","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"THE2U:01JGFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"JZ00G0WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"QSJGMAK","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","delta":"CNV6N\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":403,"totalTokens":404},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":620},"cache_creation_input_tokens":620,"cache_read_input_tokens":6344,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove tag \"obsolete\" from the organization \"Untagged Corp\".","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I need to find both the \"obsolete\" tag and the \"Untagged Corp\" organization. Let me search for both.","options":{}},{"type":"text","text":"I'll search for both the \"obsolete\" tag and the \"Untagged Corp\" organization simultaneously.","options":{}},{"type":"tool-call","id":"toolu_014gwquYJqDMrMhwSu8fEccW","name":"query","params":{"typename":"org.dxos.type.tag","text":"obsolete","includeContent":true,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","name":"query","params":{"text":"Untagged Corp","includeContent":true,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_014gwquYJqDMrMhwSu8fEccW","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV6Q","@type":"dxn:type:org.dxos.type.tag:0.1.0","@meta":{"keys":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6Q","label":"obsolete"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_01SUnEyHC4L3DbQ2JREjm2wF","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"id":"01JGFJJZ00G0WKQSJGMAKCNV6N","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":["dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6Q"]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6N","name":"Untagged Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found both. The tag \"obsolete\" has DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6Q` and the organization \"Untagged Corp\" has DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6N`. \n\nI can confirm the tag is present in the organization's metadata array, so I'll proceed with removing it.","options":{}},{"type":"text","text":"I found both the \"obsolete\" tag and the \"Untagged Corp\" organization. I can see the tag is currently applied to the organization. Let me remove it now.","options":{}},{"type":"tool-call","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","name":"remove-tag","params":{"tag":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6Q","obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6N"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01CTdc8Vu3EUjt3q5Usx2vka","name":"remove-tag","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"01JGFJJZ00G0WKQSJGMAKCNV6N","@type":"dxn:type:org.dxos.type.organization:0.1.0","@meta":{"keys":[],"tags":[]},"@dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNV6N","name":"Untagged Corp"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01EYGvkxaMJSEHcZbmBh92My","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:06.670Z","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 removed from \"Untagged Corp\". The organization now has no tags.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":29,"totalTokens":30},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":378},"cache_creation_input_tokens":378,"cache_read_input_tokens":6964,"input_tokens":1,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add the organization \"Context Corp\" to the chat context.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01EuK2JQDqeBoMS3ahUsc21G","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:09.464Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants to add an organization called \"Context Corp\" to the chat context. First, I need to find this organization in the space by","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" searching for it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtYCClkIDRgCKkAKTRMNZludjSJ7LfmvwajvwIgTVM+DPipDIMQZQUK491lrb1+S3yNgBOdIFXuvfg5ajbHiw3fRm30N6sWVrQHvMg9jbGF1ZGUtb3B1cy00LTY4ABIMDvcY64WIMsw+YOkhGgwcay62urWbUy9W3kciMPupIhWADpKBq8463Zi+13qwnO1LWeTl6gSgL6W5X0ftCNabDK6kcRAhX5ijvOJipSqqAftEG4HMpyBuUVIebQh4jnPyiiBJwQJTG7zHBjrN+XRzkjzYICcKJIy2GZpRWesiYvvIKK+fJu15BuOQpTqlV51RMVmk1A36cG9NuxZ1WkbCajmu/7Gmyq1zVaBavGz/1cpuP4unNFOq65ng/h1diLfxUv7ktfnL5Bxo+6oNZJsvcqUwt+jtaYmgRVB/1rw139CLTz4pXvNmApZGezXmPDj35A0xhxUCKr0oGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me search for \"Context Corp\" in the space first.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"text\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"Context Cor","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"p\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":", \"includ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"eContent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":": f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"alse","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":", \"l","metadata":{}},{"type":"tool-params-delta","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","delta":"imit\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":151,"totalTokens":154},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6340},"cache_creation_input_tokens":6340,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":37,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Add the organization \"Context Corp\" to the chat context.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to add an organization called \"Context Corp\" to the chat context. First, I need to find this organization in the space by searching for it.","options":{}},{"type":"text","text":"Let me search for \"Context Corp\" in the space first.","options":{}},{"type":"tool-call","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","name":"query","params":{"text":"Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVA5","typename":"org.dxos.type.text"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVA6","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVAC","typename":"org.dxos.type.organization","label":"Context Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01UcpX4tr3uTPNF1XRUwSGrW","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:13.773Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Found","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" \"Context Corp\" with DXN \"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"Z00G0WKQSJGMAKCNVAC\". Let me add it to the chat context.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EsUCClkIDRgCKkCXVd+zL2FNWsAZp/5z6k8jhK6a+d08FskfolJ2hsFZwtPWPK7OB6llETown1UqIlcrVPqoQEqIlPlDZu85sfR0Mg9jbGF1ZGUtb3B1cy00LTY4ABIMd53k49x9aL3y6T5XGgwu70ZhJEk6Rfoxj1IiMF+dENwvujatlbqOHx9Fcnm5SRrV4LbNuz6k0nyu1BYJs3+rBBjjzZO1CcRU/FcSHiqZAa2CF+hBcVJeY0wVPrpHs0zpnkh2Fhu9GaMxHhr16IMRjLdxTHS0zSakoD9y5sReXmcCgjpYnEiVewXlWeLTbofdsQyybwZzegtRP30RPIO+f7jGLOE/LcyKL9Yw8iUEJcgpqnA67dk0TWhFM1ZsXqen8/QNBBMdelVk2IPq+6A+FwDK2VNvjqDx4272gOMAWaIU97N5apEfqhgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Found it! Let me add \"Context Corp\" to the chat context now","metadata":{}},{"type":"text-delta","id":"1","delta":".","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","name":"add-to-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"{\"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"bj\": \"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"xn:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"ech","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"o:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"BD","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"JXMULPW","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"5FB55U","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"Z7KP5HLDH","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"VTXUTHE2U:0","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"1JGFJJZ00","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"SJGMA","metadata":{}},{"type":"tool-params-delta","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","delta":"KCNVAC\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":216,"totalTokens":217},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":359},"cache_creation_input_tokens":359,"cache_read_input_tokens":6340,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>\n\n## Context Objects\n\n<object>\n <dxn>dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVAC</dxn>\n <typename>org.dxos.type.organization</typename>\n</object>","options":{}},{"role":"user","content":"Add the organization \"Context Corp\" to the chat context.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to add an organization called \"Context Corp\" to the chat context. First, I need to find this organization in the space by searching for it.","options":{}},{"type":"text","text":"Let me search for \"Context Corp\" in the space first.","options":{}},{"type":"tool-call","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","name":"query","params":{"text":"Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01P4Dbi8iCrJtdeUtsVn9bar","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVA5","typename":"org.dxos.type.text"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVA6","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVAC","typename":"org.dxos.type.organization","label":"Context Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found \"Context Corp\" with DXN \"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVAC\". 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_01X9Jf8d1n9oKTDjfuECeQiG","name":"add-to-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVAC"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01X9Jf8d1n9oKTDjfuECeQiG","name":"add-to-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01CGdGXg5GAZ8Pq9qV62N7iD","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:20.202Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The organization \"Context Corp\"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" has been added to the chat context. It was already in the context actually (I","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" can see it in the Context Objects), but the add-to-context call succeeded.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EvQCClkIDRgCKkBpD5AfGaqtU1aZjvPdyGlHaSwTZ5+735fSwrJYsnDyNVFI1uZ8LOGHzZ1HH51ICsIFQiM6SPrG9vHIdBxqSpDvMg9jbGF1ZGUtb3B1cy00LTY4ABIMU5R4HiEAR5ZKwt+kGgxJxA1C+AwDyJrzF7oiMDcyeSbzs3/ss4T0/CF02w25fnbGx4d7FneR5heCy+j3sVJlMntMgx2QCq9gVh5N7yrIAcu284H4oOYuhHp6mDKnd2TnzPZrDg04pM5ybfka2cMRwksKyizOafNT3x6xRH3eaGji9A6xgWSS0PDmciakkF7Z6HLQnZWXvMTFmJD5UzqWoHeGlD86G2gzhiBesG6aJ55pTyrea+yHaY91AkSbbs3DjxCB1i8Ko1k77TD9JeFT3C3lNxIgtXoEacGqEqhQUWhsUzcFdj2inquLpu7d5KYjweGovcqVhWTEZAS9DGOYvxTbSmPjZA6OB7DiHYg9jzN/wNKlys4tGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"The organization **\"Context Corp\"** has been added to the chat context! It's","metadata":{}},{"type":"text-delta","id":"1","delta":" now available for reference throughout our conversation.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":85,"totalTokens":86},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6944},"cache_creation_input_tokens":6944,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":13,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>\n\n## Context Objects\n\n<object>\n <dxn>dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA</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_01G1mLoXC2xrVoSXCtz6Lwca","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:23.851Z","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","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" organization with DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"U:01JGFJJZ00G0WKQSJGMAKCNVDA`. Let me remove it.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EpgDClkIDRgCKkBM9ZbbxA/o5NWc366hXr4SaQTR1ZXDBVoWNzd+NvcKINxXg43CjUDx95U6d4+bQFOlAFsCXHjNCOe1xw/mm1TyMg9jbGF1ZGUtb3B1cy00LTY4ABIMA7N6Y5cDf6SzubH0GgwJDJLzr0XD3qjBeT0iMDBg15+aLAjz5UdxlckAjOpPUvFpQ9dd9r6ISzVBcqJKSinR6Rywg078xdwCOkNq1irsASbRwS7EcCqIQzGCWx5gzJgMGGib2PlD49jxGHRdnV5g7mNcYJo7EJao52PYnAdLs/B1wemX+yy77FbkWtkUSqVvLP1ralDRPanlNKbzjqEnUOyyvsMfH8Ib3D6MRkWOJP50m4O/zWD1R4xuAEQPA+iSjsm4vbjBhc3QPZCeP2R3SW4nXKk0xywog0tLwCVBCCL4fIAuxUeoItmkektvtyI5JKOlyI+ur0OvwPsUQ2oStkMW1EgCU4GDifaDz1FDXmLnJbw1dp4ugwZx7Sr9eWxhhPCbgCQ4eNxoekEucnLCvpTWeuwOWOGyIV6JGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_016VNCM93HEttLf3KuQjcUnL","name":"remove-from-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"{\"o","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"bj","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"\": \"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"xn:e","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"cho:BDJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"XMULPW5","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"FB55UZ7","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"KP","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"DHVTXUTHE2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":":01J","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"GFJJZ00G0W","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"KQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_016VNCM93HEttLf3KuQjcUnL","delta":"MAKCNVDA\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_016VNCM93HEttLf3KuQjcUnL","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":213,"totalTokens":216},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6437},"cache_creation_input_tokens":6437,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":29,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"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 with DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA`. Let me remove it.","options":{}},{"type":"tool-call","id":"toolu_016VNCM93HEttLf3KuQjcUnL","name":"remove-from-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_016VNCM93HEttLf3KuQjcUnL","name":"remove-from-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01B9Qzg6pgKPjRR5ZYVJxQyA","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:27.528Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user asked","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me to remove \"Remove Context Corp\" from the chat context. I don't actually have information about what objects are currently in the chat context. Let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me search for this organization first.\n\nWait, actually","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the function call went through successfully. But I made up","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" a DXN - that's not right. Let me reconsider.\n\nActually, looking at the result","metadata":{}},{"type":"reasoning-delta","id":"0","delta":", it returned Success. But I fabricated a DXN which is problematic. I should have searched for the object","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" first.\n\nHowever, the tool returned Success, so it seems like it worked. But I'm","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" concerned I made up the DXN. Let me be honest about this.\n","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"\n\nI","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" realize I need to search for the organization's actual ID rather than fabricating one, even though the previous call","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" returned success.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtsKClkIDRgCKkCbqCCECbMahWWj19n1j6U0NCkjtT3oOugGwAEZ6ha4EyjdsZqorgIkE6rs9gKFwc1nTAmmMUH72+utGDpDn37IMg9jbGF1ZGUtb3B1cy00LTY4ABIM19ndVTp5BwaJlX+hGgwPU52rXsdkGJhM/uAiMJap56EDHBj7rEtiRaL4QHyuAD2suqActqB+zRoQ4CI13jjQ+6ymNy4czrsfwq25+SqvCTKRBJG6uA1ESf4enzGyNZUL2/LjPu49zMQ/YmIRU7UHpEVljVsZwfgrpjgeuuVVjZN7zWe6aLP21LBW3d3k6dSsd5ad8PVDm4+i8y+WNlSXqUEK9L9m5l2joue93UJkk4WHRiy/0XlUWFCfJn+Ai5zS6Rl9IfsI5f9GtsQNwa66tvhfSrOeEhUJlnPitpIk/Ko1kMOBub0LkaA0pySepapmIM/lnf+beaBb0o4YSUYzIx/VhgbeRuWJf62UzCnClbaGsDE9U/550CdqVeYx0T5lHJ9tcdiTfSsHRYnrfWOeGKygqZhw4B+FuFpLe4PVhN4BqsHwiIGr5ztLmZLY9BXKhFXJgcTyw5Sz72/yYNayZ86p9dAwuKZGGHQiuJFssVH2Fy/lRPNQZlUZFbpLDtldTGRc2SlJVx3toGv8fXoFprk4Z/8KiGtGqz+z06TRe18ifb3i0xPTkLRqZu1yFxPobucm4oC9Ae+jHl6iXyAcc2lc/6yQWE1gHytd8UzoQCqYtcad45skN+Vsk2/2pYQCDeSmCi6PcjkDEadmiujwMYKWyYtXvgpyeMHeKBDu+9zVg6xr+v3ZjY44SPoCSXDEXRHdy0+v0Wt3yxCIma77RMVKdcP0hACev0XRJy1B9kxJ7M8+MkS8wVRiZftxAmKd/lcBSbXxtm0czY1u3Qis1x+aF8n4JUhXxnoZX1jqqiSjEv/rmBuBhlKlEpA5V/pjxuQdPfSFWXlPya/DZkMemNe6nc/A1ShKqWjeOFbBJOCnGbmokjLtbX0tGvqfzsa8gQgsWn9HNhi3nCvP63HpibofiQdGPNtD11/JT0Yuz36vtfU+47lHrUk6aLETQ4VhGiPPPzICd796mb9ul3FAQ7+T8UbU14hsCygRcMzlj+9VIdB0ux7E7P151tyAGyZkM0zNjNs1n5AI4Bgp5EXOwGdrAZRMP1pZb6JgsnJ43xRh5O5H/vIiAohmPVVYLGWK4dYVs4KgVlG2xUDtT3mhNVF/NtiGHAmoabrHK7wExCBFn3lzFwtoeN0X67FVGtW9+K2GEhjUepKrR0XmIEABb9uRaFbKZbGJFwoPGqmgjJDgEe0IjVerC4ltsCn/44meeMy9LAKz6VahfCvijW5CDjO0QP93ii6RJ4L4hqsUwb4TTm94+XrHAuS298ijMExf2Gae2t9MLtFtmHHOUzC0tovqkX7UGA+wjsdMQ6hVjblsb9O/eEnr1FfTpUDDJz3ApIB7w5eiGCbnVL2XK16wgm/YtgVP/XlVKJkCwkkTe6uDo5XJRLXzmVZjP6fV1P6KIBjWsCetxrSND640jhrEMoDT+qVxs7aWWmhsNMuyStPnkQZwJEeQeaUMa9l4vt8fq+hSzfTDlMZEi9t90hRapDs5KhCnYPZCHRwCBDaMuh7BpaUZo4238MkdOJ/PQoPvacKDlXAemp1HBS+jpJaepdSyktHPnWUTKuozLAmKjvJzWI78AUyjh7+rLgPbH8lkaK9ays+2QLl4SlawGKcpo90NR6JNMCeCPPY0QL5o1X0/LZfzrFRz4dagLjF0ECYA6lfHbWJasBLZqm7UFfxCEZaWHGpN97AC0RfDwAdsGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I apologize — I acted too hastily and","metadata":{}},{"type":"text-delta","id":"1","delta":" used a fabricated ID. Let me search for the correct object first.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"{\"t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"ext\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":" \"Remove Co","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"ntext Corp","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":", \"i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"ncludeConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"t\": false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"limit","metadata":{}},{"type":"tool-params-delta","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","delta":"\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":405,"totalTokens":406},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6476},"cache_creation_input_tokens":6476,"cache_read_input_tokens":0,"input_tokens":1,"output_tokens":10,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove the organization \"Remove Context Corp\" from the chat context.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to remove the organization from the chat context. Looking at the context objects, there's an organization with DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA`. Let me remove it.","options":{}},{"type":"tool-call","id":"toolu_016VNCM93HEttLf3KuQjcUnL","name":"remove-from-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_016VNCM93HEttLf3KuQjcUnL","name":"remove-from-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user asked me to remove \"Remove Context Corp\" from the chat context. I don't actually have information about what objects are currently in the chat context. Let me search for this organization first.\n\nWait, actually the function call went through successfully. But I made up a DXN - that's not right. Let me reconsider.\n\nActually, looking at the result, it returned Success. But I fabricated a DXN which is problematic. I should have searched for the object first.\n\nHowever, the tool returned Success, so it seems like it worked. But I'm concerned I made up the DXN. Let me be honest about this.\n\n\nI realize I need to search for the organization's actual ID rather than fabricating one, even though the previous call returned success.","options":{}},{"type":"text","text":"I apologize — I acted too hastily and used a fabricated ID. Let me search for the correct object first.","options":{}},{"type":"tool-call","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","name":"query","params":{"text":"Remove Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVD3","typename":"org.dxos.type.text"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVD4","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA","typename":"org.dxos.type.organization","label":"Remove Context Corp"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01YGD83kbpg5vdhSm8oRtfCv","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:37.096Z","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 DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"U:01JGFJJZ00G0WKQSJGMAKCNVDA`. Let me remove it from the context.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuQCClkIDRgCKkDvVVsUMccURePWK34XGQh8NRhCRlExdKoTqfar1zIupOXUW9R44PEOJGs2HUr90HkuttzxdCzutqHK5+Igzeb9Mg9jbGF1ZGUtb3B1cy00LTY4ABIME7cGbT8svsn7l34YGgz3lgQDu6H0RfBjIPEiMD29HHwba/zmdYPyjcnH2ojasUAOApu1nYY7t7/5jCcmop02tIQdRgzeNmouyoED5Cq4Ae1llcL4T+bHtGfo57RPoXo1J5rV30w7b/Fm0e5ceeGMisImizIVRo9Z5bsn5A0rctsISjoaNJ116To8v/sV/M0haXnnuR7y1Xt6FuOv4C4ZH1xBtLtZa+Z/zLU/LJNQ9s2Q8RGlc8kudI0GuMaLFS0o0f9IfxBh6P9pH41VUlE/I0omrQGM6CkKh/ASHoUAqWd/vgGiNouMdPEAkZASbr3zMooK3aI8NIvV8ODDi2aQH3KSFyvkVQ0YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Found it! Now","metadata":{}},{"type":"text-delta","id":"1","delta":" let me remove \"Remove Context Corp\" from the chat context.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","name":"remove-from-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"obj\": \"dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"n:e","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"cho:B","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"DJXMULPW5FB","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"55UZ7KP5","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"HLDHVTXUTHE2","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"U:0","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"1JG","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"FJJZ00G0WKQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"SJGMAKCNVD","metadata":{}},{"type":"tool-params-delta","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","delta":"A\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","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":373},"cache_creation_input_tokens":373,"cache_read_input_tokens":6476,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Remove 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 with DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA`. Let me remove it.","options":{}},{"type":"tool-call","id":"toolu_016VNCM93HEttLf3KuQjcUnL","name":"remove-from-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_016VNCM93HEttLf3KuQjcUnL","name":"remove-from-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user asked me to remove \"Remove Context Corp\" from the chat context. I don't actually have information about what objects are currently in the chat context. Let me search for this organization first.\n\nWait, actually the function call went through successfully. But I made up a DXN - that's not right. Let me reconsider.\n\nActually, looking at the result, it returned Success. But I fabricated a DXN which is problematic. I should have searched for the object first.\n\nHowever, the tool returned Success, so it seems like it worked. But I'm concerned I made up the DXN. Let me be honest about this.\n\n\nI realize I need to search for the organization's actual ID rather than fabricating one, even though the previous call returned success.","options":{}},{"type":"text","text":"I apologize — I acted too hastily and used a fabricated ID. Let me search for the correct object first.","options":{}},{"type":"tool-call","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","name":"query","params":{"text":"Remove Context Corp","includeContent":false,"limit":5},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01DaoDXDg6cppRPd9V1rXLJX","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVD3","typename":"org.dxos.type.text"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVD4","typename":"org.dxos.type.blueprint","label":"Database"},{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA","typename":"org.dxos.type.organization","label":"Remove Context Corp"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"Found it. The organization \"Remove Context Corp\" has the DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA`. Let me remove it from the context.","options":{}},{"type":"text","text":"Found it! Now let me remove \"Remove Context Corp\" from the chat context.","options":{}},{"type":"tool-call","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","name":"remove-from-context","params":{"obj":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVDA"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_0129aGWCFu8MBLgcA8S1TZev","name":"remove-from-context","isFailure":false,"result":{"_id":"Exit","_tag":"Success"},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01QmPeyLkyR1jMJydaz1AqRx","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:40.718Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done! I've removed the","metadata":{}},{"type":"text-delta","id":"0","delta":" organization **\"Remove Context Corp\"** from the chat context.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":22,"totalTokens":23},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":150},"cache_creation_input_tokens":150,"cache_read_input_tokens":6849,"input_tokens":1,"output_tokens":6,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"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_01UvSHsbkYiMxsdm6Mb3keJr","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:43.814Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to search for an email in queues using full-text search for \"reservation\" with","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" specific parameters.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErECClkIDRgCKkD4qCdwdu3VPLv/sXLuJqzsmtrz3jEa4pbKIkaKrRMrAiAUt7geUU2TQhDYDx8CKX2ljog5mjFJ57dNIao4miPCMg9jbGF1ZGUtb3B1cy00LTY4ABIMpyflLMN2ranuGyM6GgylPVDbsx+Fm3ckseEiMJbL8Yd1M9xBv1TWrU7itiXAZId/EnIoteBcRfdW36nF4hFiFOKJezU7BXhSpL2sCSqFAYHXyD1j8u4ub8B32w/NR3Qo2iVt6aEcS+v4HhPlsGqqwX3nbjN3VfNLrsvinrm52FP3FZj2ooWyvBJcqdkuRldLYtoSqFY200w4Ynbj++OzK+b2CsCuWUTRM0Stibb6kNQXNXVwcgYzIFTJgJUCW6+LOohHI3uyKdA9EK4+sOifP4EtmYIYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me run that query now.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01FxoLXyAQTXpR8LhME5C483","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"{\"text\": \"re","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"servation\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":", \"includeQ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"ueues\": tr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"ue","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":", \"inclu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"deConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"t\": false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":", \"limit\": 2","metadata":{}},{"type":"tool-params-delta","id":"toolu_01FxoLXyAQTXpR8LhME5C483","delta":"0}","metadata":{}},{"type":"tool-params-end","id":"toolu_01FxoLXyAQTXpR8LhME5C483","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":156,"totalTokens":159},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6402},"cache_creation_input_tokens":6402,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":30,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"A mock email was stored only on a feed (queue), not as a regular space document: organization \"Lot Booking Co\"\nmentioning a parking reservation.\n\nUse the Query tool once: full-text \"reservation\", includeQueues true, includeContent false, limit 20.\nConfirm the results include Lot Booking Co.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to search for an email in queues using full-text search for \"reservation\" with specific parameters.","options":{}},{"type":"text","text":"Let me run that query now.","options":{}},{"type":"tool-call","id":"toolu_01FxoLXyAQTXpR8LhME5C483","name":"query","params":{"text":"reservation","includeQueues":true,"includeContent":false,"limit":20},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01FxoLXyAQTXpR8LhME5C483","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVH1:01JGFJJZ00G0WKQSJGMAKCNVH3","typename":"org.dxos.type.organization","label":"Lot Booking Co"},{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVHA:01JGFJJZ00G0WKQSJGMAKCNVHE","typename":"org.dxos.type.message"},{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVHA:01JGFJJZ00G0WKQSJGMAKCNVHG","typename":"org.dxos.type.message"},{"dxn":"dxn:queue:data:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVHA:01JGFJJZ00G0WKQSJGMAKCNVHS","typename":"org.dxos.type.message"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01NasYTqovXkZaUSEMPoRDBE","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:47.359Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The query returned results including","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" \"Lot Booking Co\" as an organization stored in a queue. Let me confirm the findings","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"ErQCClkIDRgCKkDdUS5Bk7RKi5ecFIW+R5huJVAGTMA/J242ID9pF7HyRbDZzDfFMv1SNhZ0iuvA2jwbr/ECR/F3Rmk2Ykw02Fx0Mg9jbGF1ZGUtb3B1cy00LTY4ABIM4ggaSlCy7AZ/PeC8Ggy0nX/7W+x1gvbs6d8iMDnGb2snPvuytJyH7GLvTicrhkfUV4+W6l2zRgnqA5cKWzry/jEvis0/3EIKYEQGZiqIAZJgk9dFoJdZZuo/x0C5dGNyEossP6fkMFw1H9xob+8cIIAAdSArSIg5b4aiNCCC/sJjtcpRExViNlKTlfiBxZQV5meU56iHjKxsubERLnTWEkZRG/jVV4jB9uunUffJTMuRuBwJ5UT33ltHsEFx28ZEgyjfKdS01sU/t7c1cix56J0dqITFT7sYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"✅ **Confirmed!** The results include **Lot Booking Co**.\n\nHere's a summary of what came back (","metadata":{}},{"type":"text-delta","id":"1","delta":"4 results, all stored on queues — not","metadata":{}},{"type":"text-delta","id":"1","delta":" regular space documents):\n\n| # | Type | Label | Location |\n|---|------|-------|----------|\n| 1 | `","metadata":{}},{"type":"text-delta","id":"1","delta":"org.dxos.type.organization` | **Lot Booking Co** | Queue (feed) |\n| 2 | `org.dxos.type.message` | *(","metadata":{}},{"type":"text-delta","id":"1","delta":"unlabelled)* | Queue (feed) |\n| 3 | `org.dxos.type.message` | *(unlabelled)* | Queue (feed) |\n| 4 | `org.","metadata":{}},{"type":"text-delta","id":"1","delta":"dxos.type.message` | *(unlabelled)* | Queue (feed) |\n\nAll four results have `d","metadata":{}},{"type":"text-delta","id":"1","delta":"xn:queue:data:…` DXNs, confirming they live exclusively on a feed/queue rather than in","metadata":{}},{"type":"text-delta","id":"1","delta":" the regular space. The **Lot Booking Co** organization object is right there in the first result, along with three","metadata":{}},{"type":"text-delta","id":"1","delta":" associated messages likely related to the parking reservation.\n\nWould you like me to load any of these objects to","metadata":{}},{"type":"text-delta","id":"1","delta":" inspect their full content?","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":315,"totalTokens":316},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":543},"cache_creation_input_tokens":543,"cache_read_input_tokens":6402,"input_tokens":1,"output_tokens":12,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Query for organizations in \"inbox-1\" feed.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_018Eq6Kr3hJtZmw236Zcf5Qn","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:53.905Z","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 first find the feed object","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" called \"inbox-1\" to get its DXN, then query for organizations within that feed.\n\nLet me first search for the \"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"inbox-1\" feed and also list schemas to find the organization typename.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuQDClkIDRgCKkDfKB6vk212VIltPddNY56HEw5YDOyTU230Q+Yf/aqpag+TKUxhsSoSF+OohU/7ckrza1bL0R5YyvnBGot/IGysMg9jbGF1ZGUtb3B1cy00LTY4ABIMn9ZU12nbNVIxsJ6/GgxKI++qfpbTsgtKjMUiMMkmbF927bNJMymaNUbXNwhhu+8eRP05yHaCpSm1IxyTUKVw9a4jG32skhSRHuGcPyq4AiBdvRo2lklBgyL4SQ92Oi5+EFBq0sClOKp4Ra1U38oRK4+hd0yJxIKD55dNz5+GHsfioWVYSbM70hGFv3w3ajnQmPGY8dblsyqLOGfA4Xhwreg9qXBg9QnaqVTHtHkr9r1SX1K67iN+WvwAW6YVy+bmYry+MkxIAeWu9R+36tPBBfpCwxeogQlajM9Y3dQO3Q1rUjdpEsQuS6pTw7KGMmUNZsvVKhCUVK9mrfBvNAnkHi1JFlMnlJQZH61LpuhuCmWGBu/V8J7Gb2OmwU2cNQB1HiorR08FRYCiLNj6xJwm3oPqiJ+aj0ghXYhQJObSiaKCq3XUmz+k/A5NZyvO2az6EtB2PsOGAPJW9OWtY7Lkt95IvtciHzKr529pOn2U2hyNkJpQaeRsnRInqtEV87UW7ElDaFdEIBgB"}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"Let me first find the \"inbox-1\" feed and the organization schema so I can scope the query correctly.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":"{\"text\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":"inbox-1\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":", \"includ","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":"eConten","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":"t\": false","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":", \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":"limi","metadata":{}},{"type":"tool-params-delta","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","delta":"t\": 5}","metadata":{}},{"type":"tool-params-end","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","metadata":{}},{"type":"tool-params-start","id":"toolu_013mwuQH2VeYw2qtDjU6spkU","name":"list-schemas","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_013mwuQH2VeYw2qtDjU6spkU","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_013mwuQH2VeYw2qtDjU6spkU","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":217,"totalTokens":220},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6339},"cache_creation_input_tokens":6339,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":33,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"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 first find the feed object called \"inbox-1\" to get its DXN, then query for organizations within that feed.\n\nLet me first search for the \"inbox-1\" feed and also list schemas to find the organization typename.","options":{}},{"type":"text","text":"Let me first find the \"inbox-1\" feed and the organization schema so I can scope the query correctly.","options":{}},{"type":"tool-call","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","name":"query","params":{"text":"inbox-1","includeContent":false,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_013mwuQH2VeYw2qtDjU6spkU","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVKC","typename":"org.dxos.type.feed","label":"inbox-1"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_013mwuQH2VeYw2qtDjU6spkU","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0169fC1FLvxPJ4a5F7qcoFur","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:25:58.821Z","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","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" DXN `dxn:echo:BDJXMUL","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"PW5FB55UZ7","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"KP5HLDHVTX","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"UTHE2U:01JGFJ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"JZ00G0WKQ","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"SJGMAKCNVKC` and the organization","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" typename is `org.dxos.type.organization`. Now let me query for organizations","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" within that feed.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EpsDClkIDRgCKkColaP+mYE51/U/7zYQXW9LygLGHIYLXrhwGWB41MuGRl8DJEHJU0i8CwT2p2JeIUDVj9gibjZ+eMFuaqIWdl0nMg9jbGF1ZGUtb3B1cy00LTY4ABIMpD4yAbDMSdCUSyfoGgx5LVGhm7M/tSPy6BciMBCs3VOlxlKFdAe5YkfX1HIT22tJSh4Wth2Iu0OOOTWaqK80vKZTnFMOjoTVNS4lpSrvAe028RGJqVMTp+fpunYHRuN20uFsG33TokEMQMvIvQ4QUdUgTrpHK3i0EpvwdK8AVAE2jrtEUxb3bVEMiBgxobqCddjh3FgSADn3ZN7A0Y2WPXAdZWkuAT/U50cVDYqsyuIbjzVydiE3fdvQ6xuSI4lSAwlVQWiiZRwrrSZP4KevnDradGPQd167JzSqVvsGW4T0ravltUELaGXIHv9pxmCiERIEvGoJUhDc/Ibyg/6xZKVrB6LPOoSrvvT4OPcCtOfptdaAkO5K78bvHzl7gdW4MybZaV/FUj+lp0O3QPgp1NojWzHDbdNUvanXNaDnGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I found the \"inbox-1\" feed. Now let me query for organizations within it.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_017DoD6P6CA4BhREVziC2os3","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"{\"typ","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"ename\": \"org","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":".dxos.ty","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"pe.orga","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"nization\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":", \"in\": [{","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"\"/\":\"d","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"xn:echo:B","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"DJXMULPW5","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"FB55UZ7KP5HL","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"DHVTXUTH","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"E2U:0","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"1JGFJJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"Z00G0WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"QSJGMAKCNV","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"KC\"}]","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":", \"includeC","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"ontent\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":": true","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":", \"limit","metadata":{}},{"type":"tool-params-delta","id":"toolu_017DoD6P6CA4BhREVziC2os3","delta":"\": 10}","metadata":{}},{"type":"tool-params-end","id":"toolu_017DoD6P6CA4BhREVziC2os3","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1,"outputTokens":306,"totalTokens":307},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":4294},"cache_creation_input_tokens":4294,"cache_read_input_tokens":6339,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Query for organizations in \"inbox-1\" feed.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants to query for organizations in a specific feed called \"inbox-1\". I need to first find the feed object called \"inbox-1\" to get its DXN, then query for organizations within that feed.\n\nLet me first search for the \"inbox-1\" feed and also list schemas to find the organization typename.","options":{}},{"type":"text","text":"Let me first find the \"inbox-1\" feed and the organization schema so I can scope the query correctly.","options":{}},{"type":"tool-call","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","name":"query","params":{"text":"inbox-1","includeContent":false,"limit":5},"providerExecuted":false,"options":{}},{"type":"tool-call","id":"toolu_013mwuQH2VeYw2qtDjU6spkU","name":"list-schemas","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_0189EWwFdFaccB6r6Ew7yb2s","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"dxn":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVKC","typename":"org.dxos.type.feed","label":"inbox-1"}]},"providerExecuted":false,"options":{}},{"type":"tool-result","id":"toolu_013mwuQH2VeYw2qtDjU6spkU","name":"list-schemas","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[{"typename":"com.example.type.expando","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:com.example.type.expando","entityKind":"object","typename":"com.example.type.expando","version":"0.1.0","type":"object","properties":{"id":{"type":"string"}},"required":["id"],"propertyOrder":["id"],"additionalProperties":{"$id":"/schemas/any","title":"any"}},"kind":"record"},{"typename":"org.dxos.relation.employer","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.relation.employer","entityKind":"relation","typename":"org.dxos.relation.employer","version":"0.1.0","relationTarget":{"$ref":"dxn:type:org.dxos.type.organization"},"relationSource":{"$ref":"dxn:type:org.dxos.type.person"},"type":"object","properties":{"id":{"type":"string","description":"A Universally Unique Lexicographically Sortable Identifier","pattern":"^[0-7][0-9A-HJKMNP-TV-Z]{25}$"},"role":{"type":"string"},"active":{"type":"boolean"},"startDate":{"type":"string"},"endDate":{"type":"string"}},"required":["id"],"propertyOrder":["id","role","active","startDate","endDate"],"additionalProperties":false,"description":"An employing organization of a person."},"kind":"relation"},{"typename":"org.dxos.type.function","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.function","entityKind":"object","typename":"org.dxos.type.function","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Unique registration key for the blueprint"},"name":{"$ref":"#/$defs/NonEmptyString"},"version":{"type":"string"},"description":{"type":"string"},"updated":{"type":"string"},"source":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"inputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"outputSchema":{"$ref":"#/$defs/jsonSchema","propertyOrder":["$id","$schema","$ref","$comment","entityKind","typename","version","relationTarget","relationSource","title","description","readOnly","writeOnly","examples","default","const","enum","type","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","pattern","format","minLength","items","additionalItems","maxItems","minItems","uniqueItems","contains","maxProperties","minProperties","required","propertyOrder","additionalProperties","properties","patternProperties","propertyNames","definitions","dependencies","contentMediaType","contentEncoding","if","then","else","allOf","anyOf","oneOf","not","$defs","currency","reference","annotations","echo"]},"services":{"type":"array","items":{"type":"string"}},"binding":{"type":"string"}},"required":["name","version","id"],"propertyOrder":["key","name","version","description","updated","source","inputSchema","outputSchema","services","binding","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--function--regular","hue":"blue"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.organization","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.organization","entityKind":"object","typename":"org.dxos.type.organization","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","title":"Name","annotations":{"generator":{"generator":"company.name","probability":1}}},"description":{"type":"string","title":"Description","annotations":{"generator":{"generator":"lorem.paragraphs","args":[{"min":1,"max":3}]}}},"status":{"type":"string","enum":["prospect","qualified","active","commit","reject"],"title":"Status","annotations":{"meta":{"singleSelect":{"options":[{"id":"prospect","title":"Prospect","color":"indigo"},{"id":"qualified","title":"Qualified","color":"purple"},{"id":"active","title":"Active","color":"amber"},{"id":"commit","title":"Commit","color":"emerald"},{"id":"reject","title":"Reject","color":"red"}]}},"generator":{"generator":"helpers.arrayElement","args":[["prospect","qualified","active","commit","reject"]]}},"format":"single-select"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"website":{"type":"string","title":"Website","annotations":{"generator":"internet.url"}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["name","description","status","image","website","location","id"],"additionalProperties":false,"description":"An organization.","title":"Organization","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--building-office--regular","hue":"neutral"}},"labelProp":["name"]}},"kind":"record"},{"typename":"org.dxos.type.person","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.person","entityKind":"object","typename":"org.dxos.type.person","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"fullName":{"type":"string","title":"Full Name","annotations":{"generator":{"generator":"person.fullName","probability":1}}},"preferredName":{"type":"string","title":"Preferred Name"},"nickname":{"type":"string","title":"Nickname"},"image":{"type":"string","title":"Image","annotations":{"generator":"image.url"}},"organization":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.type.organization"},"schemaVersion":"0.1.0"}}],"description":"Current employer","title":"Employer","annotations":{"meta":{"referenceProperty":"name"}}},"jobTitle":{"type":"string","title":"Job Title"},"department":{"type":"string","title":"Department"},"notes":{"type":"string","title":"Notes"},"emails":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"Email address","title":"Email","default":"hello@email.com","pattern":"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$","annotations":{"generator":"internet.email"},"format":"email"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"identities":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"phoneNumbers":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["label","value"]},"title":"Phone Numbers"},"addresses":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"object","required":[],"properties":{"street":{"type":"string","description":"The street address.","examples":["1600 Amphitheatre Pkwy"]},"extended":{"type":"string","description":"An address extension such as an apartment number, C/O or alternative name.","examples":["Apt 1","Suite 2"]},"locality":{"type":"string","description":"The locality in which the street address is, and which is in the region.","examples":["Mountain View","Bangkok"]},"region":{"type":"string","description":"The region in which the locality is, and which is in the country.","examples":["CA","NY"]},"postalCode":{"type":"string","description":"The postal code.","examples":["12345","A1A 1A1"]},"postOfficeBoxNumber":{"type":"string","description":"The post office box number for PO Box addresses."},"country":{"type":"string","description":"The country in 2-letter ISO 3166-1 alpha-2 format.","examples":["US","SG"]}},"additionalProperties":false,"propertyOrder":["street","extended","locality","region","postalCode","postOfficeBoxNumber","country"]}},"additionalProperties":false,"propertyOrder":["label","value"]}},"urls":{"type":"array","items":{"type":"object","required":["value"],"properties":{"label":{"type":"string"},"value":{"type":"string","description":"URL","title":"URL","default":"https://example.com","pattern":"^(\\w+?:\\/\\/)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\/?$","annotations":{"generator":"internet.url"},"format":"url"}},"additionalProperties":false,"propertyOrder":["label","value"]}},"birthday":{"type":"string","title":"Birthday","annotations":{"generator":"date.iso8601"}},"fields":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"category":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false,"propertyOrder":["category","label","value"]}},"location":{"type":"array","minItems":2,"items":[{"type":"number","title":"Longitude"},{"type":"number","title":"Latitude"},{"type":"number","title":"Height ASL (m)"}],"additionalItems":false,"description":"GeoJSON Position","title":"Location","format":"lnglat"}},"required":["id"],"propertyOrder":["fullName","preferredName","nickname","image","organization","jobTitle","department","notes","emails","identities","phoneNumbers","addresses","urls","birthday","fields","location","id"],"additionalProperties":false,"title":"Person","annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--user--regular","hue":"neutral"}},"labelProp":["preferredName","fullName","nickname"]}},"kind":"record"},{"typename":"org.dxos.type.tag","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.tag","entityKind":"object","typename":"org.dxos.type.tag","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"hue":{"type":"string"}},"required":["label","id"],"propertyOrder":["label","hue","id"],"additionalProperties":false,"annotations":{"labelProp":["label"]}},"kind":"record"},{"typename":"org.dxos.type.trigger","jsonSchema":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"dxn:type:org.dxos.type.trigger","entityKind":"object","typename":"org.dxos.type.trigger","version":"0.1.0","type":"object","properties":{"id":{"type":"string"},"function":{"allOf":[{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}}],"title":"Function"},"inputNodeId":{"type":"string","title":"Input Node ID"},"enabled":{"type":"boolean","title":"Enabled"},"spec":{"anyOf":[{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["email"],"title":"Kind"}},"additionalProperties":false,"propertyOrder":["kind"]},{"type":"object","required":["kind","queue"],"properties":{"kind":{"type":"string","enum":["queue"],"title":"Kind"},"queue":{"$ref":"#/$defs/NonEmptyString","description":"DXN URI","title":"DXN","examples":["dxn:type:com.example.type.my-type","dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"],"pattern":"^dxn:([^:]+):(?:[^:]+:?)+[^:]$"}},"additionalProperties":false,"propertyOrder":["kind","queue"]},{"type":"object","required":["kind","query"],"properties":{"kind":{"type":"string","enum":["subscription"],"title":"Kind"},"query":{"type":"object","required":["ast"],"properties":{"raw":{"type":"string","title":"Query"},"ast":{"$ref":"#/$defs/org.dxos.schema.query"}},"additionalProperties":false,"propertyOrder":["raw","ast"]},"options":{"type":"object","required":[],"properties":{"deep":{"type":"boolean","title":"Nested"},"delay":{"type":"number","title":"Delay"}},"additionalProperties":false,"title":"Options","propertyOrder":["deep","delay"]}},"additionalProperties":false,"propertyOrder":["kind","query","options"]},{"type":"object","required":["kind","cron"],"properties":{"kind":{"type":"string","enum":["timer"],"title":"Kind"},"cron":{"type":"string","title":"Cron","examples":["0 0 * * *"]}},"additionalProperties":false,"propertyOrder":["kind","cron"]},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["webhook"],"title":"Kind"},"method":{"type":"string","title":"Method"},"port":{"type":"number","title":"Port"}},"additionalProperties":false,"propertyOrder":["kind","method","port"]}],"title":"Trigger"},"concurrency":{"type":"number","description":"Maximum number of concurrent invocations of the trigger. For Feed triggers, this will process Feed items in parallel.","title":"Concurrency","default":1},"input":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"},"propertyOrder":[]}},"required":["id"],"propertyOrder":["function","inputNodeId","enabled","spec","concurrency","input","id"],"additionalProperties":false,"annotations":{"meta":{"org.dxos.annotation.icon":{"icon":"ph--lightning--regular","hue":"yellow"}}}},"kind":"record"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"I found the \"inbox-1\" feed with DXN `dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVKC` and the organization typename is `org.dxos.type.organization`. Now let me query for organizations within that feed.","options":{}},{"type":"text","text":"I found the \"inbox-1\" feed. Now let me query for organizations within it.","options":{}},{"type":"tool-call","id":"toolu_017DoD6P6CA4BhREVziC2os3","name":"query","params":{"typename":"org.dxos.type.organization","in":[{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVKC"}],"includeContent":true,"limit":10},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_017DoD6P6CA4BhREVziC2os3","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_015JrcCYdEZ6oHwb7QQxjDnx","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:26:07.519Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" query returned no results. There are no organizations in the \"inbox-1\" feed.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EosCClkIDRgCKkAiDk41iiZfDByGzXOYkSdtNM9uJDDeYT85KQN0CJrOWVVFZsc9KmynzvfA4IbyaqTV+yGE24S+7MFzJAWlKD3CMg9jbGF1ZGUtb3B1cy00LTY4ABIMa++kKk84QrVXSItLGgx7hvGyq0savb8JGlEiMJMIQYaxbqamvHa0yYvT2l9IUxvF3JCYoVJQiQ7E535Cmh4KEGa9oRxJg3tX0Yw/bSpg+z2TIL1Yg+XNsN9DiN+EnWZCKxxKGaN7MdKvyHCD+sljpdt8SYERH/JXxdF2wS04DMvS0rAqs1SEr1r8ts3ofwMkm4MHUHhL7r1m+3rYX4rzo0hGt5nIuSZmaPUClJdkGAE="}}},{"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 results**. There are no organizations of type `org.dxos.type.organization` within the **inbox-1** feed. ","metadata":{}},{"type":"text-delta","id":"1","delta":"\n\nThis could mean:\n- No organization objects have been added to that feed yet.","metadata":{}},{"type":"text-delta","id":"1","delta":"\n- Organizations related to the feed might be stored elsewhere (e.g., linked via contacts","metadata":{}},{"type":"text-delta","id":"1","delta":" or emails rather than directly inside the feed).\n\nWould you like me to search more","metadata":{}},{"type":"text-delta","id":"1","delta":" broadly — for example, search for all objects in the inbox-1 feed, or look","metadata":{}},{"type":"text-delta","id":"1","delta":" for organizations across the entire space?","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":152,"totalTokens":153},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":220},"cache_creation_input_tokens":220,"cache_read_input_tokens":10633,"input_tokens":1,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Call query tool with precisely {\"includeContent\":false,\"limit\":10,\"typename\":\"org.dxos.type.organization\",\"in\":[\"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVQ3\"]}","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01Q2d2vvjLckhNgEi4mgv7sz","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:26:13.369Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to call the query tool with specific parameters. Let me make sure I format the \"in\" parameter correctly as references","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EsQCClkIDRgCKkDZeX8s0Cgw7JQAB77iLjohVLxkzyeAkrqltrwVBoLgZxIKIyhXSWeBhrHabYrIK7/LyHh9ZpTWs0szo5Mp7jS4Mg9jbGF1ZGUtb3B1cy00LTY4ABIMVU5LDyEiSnebcPx5GgyJM6AJMtW1EBb343YiMK9Wo6oWWliKO+5l1LXASkMEUICvu6rZLoDAknnwsckKw5zPI18q/O+kccMxfnIQfCqYAezQMMocOk5oc0XODSHE1SzOcjZ304B1fosM3+kBVhknBu5NH3tt7rUqI1fLJeOsCcJnJof00b27KMyutealiySclgpFYQitC4HzMNYwhgiP7Z1xcrgT+zvSq62lxn5BTYIJK2ZWAX2Sn7SKkxuu0NzrfeIgPIiMyah03o6OuRQwsc1i9yiqScA0Qj6EUzLK7lZ3byc1qGrOGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","name":"query","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"{\"includeCo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"ntent\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"false","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":", \"limit\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"10","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":", \"typename","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"org.d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"xos.type.or","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"ganizatio","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"n\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":", ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"\"in\": [{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"/\":\"dx","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"n:echo:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"BDJXMULPW5F","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"B55UZ7KP5H","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"LDHVT","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"XUTHE","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"2U","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":":01JGFJ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"JZ00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"0WKQSJGMA","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"KCNVQ3\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","delta":"}]}","metadata":{}},{"type":"tool-params-end","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3,"outputTokens":218,"totalTokens":221},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":6417},"cache_creation_input_tokens":6417,"cache_read_input_tokens":0,"input_tokens":3,"output_tokens":35,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.\nUse this it for objects that are useful long-term for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-from-context","description":"Removes the object from the chat context.\nUse this it for objects that are no longer useful for the conversation.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"load-object","description":"Loads the object or relation content.\nCan load multiple objects at at time.\nUse the to read the data when you have a DXN.\nCall this tool with an array of one or more DXNs or object IDs.\nWhen use see a reference ({ '/': 'dxn:...' }), you can call this function to load the object.\nNote that returned data is only a snapshot in time, and might have changed since the object was last loaded.","inputSchema":{"type":"object","required":["refs"],"properties":{"refs":{"type":"array","items":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}}},"additionalProperties":false}},{"name":"create-object","description":"Creates a new object and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["typename","data"],"properties":{"typename":{"type":"string"},"data":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"delete-object","description":"Deletes the object.","inputSchema":{"type":"object","required":["obj"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update-object","description":"Updates the object properties.\nReferences are provided in the following format: { \"/\": \"dxn:...\" }.\nReference examples: { \"/\": \"dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }, { \"/\": \"dxn:queue:data:01KG7R1ZXWFMWQ4DA1Q6TN1DG4:01KG7R1ZXWFMWQ4DA1Q6TN1DG4\" }","inputSchema":{"type":"object","required":["obj","properties"],"properties":{"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"type":"object","required":[],"properties":{},"additionalProperties":{"$id":"/schemas/any","title":"any"}}},"additionalProperties":false}},{"name":"query","description":"Query for objects in ECHO.\nUse this tool when searching for information in the space (both automerge and queues).\nCurrently, two types of queries are supported:\n - Full-text search - terms may appear anywhere in the object.\n - Type-based search - objects of a specific type.\nYou can use them together, for example, to search for objects of a specific type that match a full-text query.\nImportant: Whem querying by typename, make sure to list the schema first, to get the exact typename.\n\nOmit both typename and text to search for all objects.\n\n<output_format>\n You can choose to either return the full object data, or just the DXN, type and label.\n When expecting a lot of results, run with includeContent=false to not pollute the context, and then load specific objects using the load tool.\n\n You can choose to get the content right away, if you don't expect a lot of results.\n To load content right away, run with includeContent=true.\n When loading content, set an appropriate limit on the number of results to avoid overwhelming the context.\n</output_format>\n\n<example description=\"All tasks related to Cyberdyne and Bob\">\n {\n \"typename\": \"org.dxos.type.task\",\n \"text\": \"cyberdyne bob\",\n }\n</example>\n\n<example description=\"Financial report Q1 2026\">\n {\n \"typename\": \"org.dxos.type.document\",\n \"text\": \"financial report Q1 2026\",\n \"includeContent\": true\n \"limit\": 3\n }\n</example>\n\n<example description=\"Emails from specific mailboxes\">\n {\n \"in\": [{\"/\" : \"dxn:echo:@:YYYYYY\"}, {\"/\" : \"dxn:echo:@:XXXXXXX\"}],\n \"typename\": \"org.dxos.type.email\",\n \"includeContent\": true,\n \"limit\": 20\n }\n</example>","inputSchema":{"type":"object","required":[],"properties":{"in":{"type":"array","items":{"$id":"/schemas/echo/ref","$ref":"/schemas/echo/ref","reference":{"schema":{"$ref":"dxn:type:org.dxos.schema.anyObject"},"schemaVersion":"0.0.0"}},"description":"Scope the query to children of specific objects (transitively). Use this to query items within containers such as feeds or folders. For example, to find emails use `in: [mailbox1.feed, mailbox2.feed]`."},"typename":{"type":"string","description":"The typename of the objects to list."},"text":{"type":"string","description":"Full text search query."},"includeContent":{"type":"boolean","description":"Include the full object data in the response.","default":false},"limit":{"type":"number","description":"The maximum number of results to return.","default":10},"includeQueues":{"type":"boolean","description":"Search in queues as well as spaces. Only use this if searching for emails.","default":false}},"additionalProperties":false}},{"name":"create-relation","description":"Creates a new relation and adds it to the current space.\nGet the schema from the schema-list tool and ensure that the data matches the corresponding schema.","inputSchema":{"type":"object","required":["typename","source","target","properties"],"properties":{"typename":{"type":"string"},"source":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"target":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"properties":{"$id":"/schemas/any","description":"The data to be stored in the relation.","title":"any"}},"additionalProperties":false}},{"name":"delete-relation","description":"Deletes the relation.","inputSchema":{"type":"object","required":["rel"],"properties":{"rel":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"add-schema","description":"Adds a schema to the space.\nThe name will be used when displayed to the user.","inputSchema":{"type":"object","required":["name","typename","jsonSchema"],"properties":{"name":{"type":"string"},"typename":{"type":"string","description":"The typename of the schema in the format of \"com.example.type.type\"."},"jsonSchema":{"$id":"/schemas/any","title":"any"}},"additionalProperties":false}},{"name":"list-schemas","description":"Lists schemas definitions.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"number"}},"additionalProperties":false}},{"name":"add-tag","description":"Adds a tag to an object.\nTags are objects of type org.dxos.type.tag.\nYou must search database for available tags, or create a new one.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"remove-tag","description":"Removes a tag from an object.\nTags are objects of type org.dxos.type.tag.","inputSchema":{"type":"object","required":["tag","obj"],"properties":{"tag":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"obj":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n</blueprint>","options":{}},{"role":"user","content":"Call query tool with precisely {\"includeContent\":false,\"limit\":10,\"typename\":\"org.dxos.type.organization\",\"in\":[\"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVQ3\"]}","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to call the query tool with specific parameters. Let me make sure I format the \"in\" parameter correctly as references.","options":{}},{"type":"tool-call","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","name":"query","params":{"includeContent":false,"limit":10,"typename":"org.dxos.type.organization","in":[{"/":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNVQ3"}]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01EDfLMxKLBBBtTuRz1Wa3Ko","name":"query","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":[]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_016SKVKRTseb92xmEUp6oeuf","modelId":"claude-opus-4-6","timestamp":"2026-05-10T07:26:22.808Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The query returned","metadata":{}},{"type":"text-delta","id":"0","delta":" **no results**. There are no objects of type `org.dxos.type.organization` found within","metadata":{}},{"type":"text-delta","id":"0","delta":" the specified scope (`dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJ","metadata":{}},{"type":"text-delta","id":"0","delta":"Z00G0WKQSJGMAKCNVQ3`).\n\nWould you like me to:\n- Broaden the search (e.g., remove the `","metadata":{}},{"type":"text-delta","id":"0","delta":"in` scope or the typename filter)?\n- Search for a different type of object?\n- Check what","metadata":{}},{"type":"text-delta","id":"0","delta":" objects exist in that container?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":1,"outputTokens":142,"totalTokens":143},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":203},"cache_creation_input_tokens":203,"cache_read_input_tokens":6417,"input_tokens":1,"output_tokens":3,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
|