@dxos/plugin-assistant 0.8.4-main.72ec0f3 → 0.8.4-main.7996785055
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/dist/lib/browser/AssistantSettings-SDYAAIS2.mjs +93 -0
- package/dist/lib/browser/AssistantSettings-SDYAAIS2.mjs.map +7 -0
- package/dist/lib/browser/BlueprintArticle-O7IDKYXB.mjs +37 -0
- package/dist/lib/browser/BlueprintArticle-O7IDKYXB.mjs.map +7 -0
- package/dist/lib/browser/ChatCompanion-QDT435XP.mjs +206 -0
- package/dist/lib/browser/ChatCompanion-QDT435XP.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-6IA3SIYM.mjs +14 -0
- package/dist/lib/browser/ChatDialog-TNC4CHJE.mjs +86 -0
- package/dist/lib/browser/ChatDialog-TNC4CHJE.mjs.map +7 -0
- package/dist/lib/browser/ProjectArticle-FJJFE4LS.mjs +97 -0
- package/dist/lib/browser/ProjectArticle-FJJFE4LS.mjs.map +7 -0
- package/dist/lib/browser/ProjectSettings-DDYTUL25.mjs +117 -0
- package/dist/lib/browser/ProjectSettings-DDYTUL25.mjs.map +7 -0
- package/dist/lib/browser/PromptArticle-NA7IJYBW.mjs +73 -0
- package/dist/lib/browser/PromptArticle-NA7IJYBW.mjs.map +7 -0
- package/dist/lib/browser/PromptList-LS4ZIZJP.mjs +55 -0
- package/dist/lib/browser/PromptList-LS4ZIZJP.mjs.map +7 -0
- package/dist/lib/browser/TracePanel-YPDUZKH5.mjs +407 -0
- package/dist/lib/browser/TracePanel-YPDUZKH5.mjs.map +7 -0
- package/dist/lib/browser/TriggerStatus-YVPE6X6O.mjs +105 -0
- package/dist/lib/browser/TriggerStatus-YVPE6X6O.mjs.map +7 -0
- package/dist/lib/browser/ai-service-CY2BYPH6.mjs +22 -0
- package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-LATYLZE6.mjs +255 -0
- package/dist/lib/browser/app-graph-builder-LATYLZE6.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-IFOVIZSP.mjs +39 -0
- package/dist/lib/browser/blueprint-definition-IFOVIZSP.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +11 -0
- package/dist/lib/browser/{chunk-WBG5PTSX.mjs → chunk-2VIEX4RA.mjs} +3 -3
- package/dist/lib/browser/chunk-2VIEX4RA.mjs.map +7 -0
- package/dist/lib/browser/chunk-5B7RDLFZ.mjs +8 -0
- package/dist/lib/browser/chunk-5B7RDLFZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-HE6DIUYX.mjs +149 -0
- package/dist/lib/browser/chunk-HE6DIUYX.mjs.map +7 -0
- package/dist/lib/browser/chunk-ITKPUTIW.mjs +103 -0
- package/dist/lib/browser/chunk-ITKPUTIW.mjs.map +7 -0
- package/dist/lib/browser/chunk-L6R55X33.mjs +155 -0
- package/dist/lib/browser/chunk-L6R55X33.mjs.map +7 -0
- package/dist/lib/browser/chunk-RI3GWI6T.mjs +2135 -0
- package/dist/lib/browser/chunk-RI3GWI6T.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2BOE3OTW.mjs → chunk-RTUG64Q4.mjs} +99 -47
- package/dist/lib/browser/chunk-RTUG64Q4.mjs.map +7 -0
- package/dist/lib/browser/chunk-YFCVKIRQ.mjs +33 -0
- package/dist/lib/browser/chunk-YFCVKIRQ.mjs.map +7 -0
- package/dist/lib/browser/create-chat-ZYARKO3O.mjs +81 -0
- package/dist/lib/browser/create-chat-ZYARKO3O.mjs.map +7 -0
- package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs +21 -0
- package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +263 -210
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs +20 -0
- package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
- package/dist/lib/browser/markdown-EKDPL7HL.mjs +114 -0
- package/dist/lib/browser/markdown-EKDPL7HL.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/on-create-space-QBTI5UPD.mjs +23 -0
- package/dist/lib/browser/on-create-space-QBTI5UPD.mjs.map +7 -0
- package/dist/lib/browser/operation-handler-V3LRD63Z.mjs +17 -0
- package/dist/lib/browser/operation-handler-V3LRD63Z.mjs.map +7 -0
- package/dist/lib/browser/operations/index.mjs +13 -0
- package/dist/lib/browser/operations/index.mjs.map +7 -0
- package/dist/lib/browser/react-surface-RLHFSOO7.mjs +172 -0
- package/dist/lib/browser/react-surface-RLHFSOO7.mjs.map +7 -0
- package/dist/lib/browser/resolve-navigation-targets-7Z37XH6T.mjs +23 -0
- package/dist/lib/browser/resolve-navigation-targets-7Z37XH6T.mjs.map +7 -0
- package/dist/lib/browser/run-prompt-in-new-chat-BTTYZUFT.mjs +112 -0
- package/dist/lib/browser/run-prompt-in-new-chat-BTTYZUFT.mjs.map +7 -0
- package/dist/lib/browser/set-current-chat-KWOC5WYV.mjs +30 -0
- package/dist/lib/browser/set-current-chat-KWOC5WYV.mjs.map +7 -0
- package/dist/lib/browser/settings-2KRFM5GU.mjs +33 -0
- package/dist/lib/browser/settings-2KRFM5GU.mjs.map +7 -0
- package/dist/lib/browser/state-4UTSI3FD.mjs +27 -0
- package/dist/lib/browser/state-4UTSI3FD.mjs.map +7 -0
- package/dist/lib/browser/toolkit-XRSBBB3L.mjs +16 -0
- package/dist/lib/browser/toolkit-XRSBBB3L.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -4
- package/dist/lib/browser/update-chat-name-5FJSXO7O.mjs +36 -0
- package/dist/lib/browser/update-chat-name-5FJSXO7O.mjs.map +7 -0
- package/dist/lib/node-esm/AssistantSettings-APDXNTQQ.mjs +94 -0
- package/dist/lib/node-esm/AssistantSettings-APDXNTQQ.mjs.map +7 -0
- package/dist/lib/node-esm/BlueprintArticle-AV6BYHMQ.mjs +38 -0
- package/dist/lib/node-esm/BlueprintArticle-AV6BYHMQ.mjs.map +7 -0
- package/dist/lib/node-esm/ChatCompanion-NY7VUCQP.mjs +207 -0
- package/dist/lib/node-esm/ChatCompanion-NY7VUCQP.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-OERYLF4C.mjs +15 -0
- package/dist/lib/node-esm/ChatContainer-OERYLF4C.mjs.map +7 -0
- package/dist/lib/node-esm/ChatDialog-3HRJNIAC.mjs +87 -0
- package/dist/lib/node-esm/ChatDialog-3HRJNIAC.mjs.map +7 -0
- package/dist/lib/node-esm/ProjectArticle-5OD6RNVS.mjs +98 -0
- package/dist/lib/node-esm/ProjectArticle-5OD6RNVS.mjs.map +7 -0
- package/dist/lib/node-esm/ProjectSettings-JQLRY6AS.mjs +118 -0
- package/dist/lib/node-esm/ProjectSettings-JQLRY6AS.mjs.map +7 -0
- package/dist/lib/node-esm/PromptArticle-OIWAJL46.mjs +74 -0
- package/dist/lib/node-esm/PromptArticle-OIWAJL46.mjs.map +7 -0
- package/dist/lib/node-esm/PromptList-HDPYYB2R.mjs +56 -0
- package/dist/lib/node-esm/PromptList-HDPYYB2R.mjs.map +7 -0
- package/dist/lib/node-esm/TracePanel-CZ34U6TD.mjs +408 -0
- package/dist/lib/node-esm/TracePanel-CZ34U6TD.mjs.map +7 -0
- package/dist/lib/node-esm/TriggerStatus-4TPPGPPG.mjs +106 -0
- package/dist/lib/node-esm/TriggerStatus-4TPPGPPG.mjs.map +7 -0
- package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs +23 -0
- package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-7NW24QOO.mjs +256 -0
- package/dist/lib/node-esm/app-graph-builder-7NW24QOO.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-SXKMCYS3.mjs +40 -0
- package/dist/lib/node-esm/blueprint-definition-SXKMCYS3.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +12 -0
- package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-AH2IGRRQ.mjs +34 -0
- package/dist/lib/node-esm/chunk-AH2IGRRQ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JXAI2DNW.mjs +104 -0
- package/dist/lib/node-esm/chunk-JXAI2DNW.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KHQM4BYS.mjs +10 -0
- package/dist/lib/node-esm/chunk-KHQM4BYS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KPVPDVSY.mjs +2136 -0
- package/dist/lib/node-esm/chunk-KPVPDVSY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PPNS6AW4.mjs +156 -0
- package/dist/lib/node-esm/chunk-PPNS6AW4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3Q22TTXW.mjs → chunk-SG27NPDT.mjs} +99 -47
- package/dist/lib/node-esm/chunk-SG27NPDT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WE6KTH72.mjs → chunk-TEYTGR67.mjs} +3 -3
- package/dist/lib/node-esm/chunk-TEYTGR67.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YQJNIYQB.mjs +150 -0
- package/dist/lib/node-esm/chunk-YQJNIYQB.mjs.map +7 -0
- package/dist/lib/node-esm/create-chat-DBZLK27V.mjs +82 -0
- package/dist/lib/node-esm/create-chat-DBZLK27V.mjs.map +7 -0
- package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs +22 -0
- package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +263 -210
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs +21 -0
- package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
- package/dist/lib/node-esm/markdown-RO7WIR76.mjs +115 -0
- package/dist/lib/node-esm/markdown-RO7WIR76.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/on-create-space-7RZULGPS.mjs +24 -0
- package/dist/lib/node-esm/on-create-space-7RZULGPS.mjs.map +7 -0
- package/dist/lib/node-esm/operation-handler-JKMSHWQF.mjs +18 -0
- package/dist/lib/node-esm/operation-handler-JKMSHWQF.mjs.map +7 -0
- package/dist/lib/node-esm/operations/index.mjs +14 -0
- package/dist/lib/node-esm/operations/index.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-NDT545FO.mjs +173 -0
- package/dist/lib/node-esm/react-surface-NDT545FO.mjs.map +7 -0
- package/dist/lib/node-esm/resolve-navigation-targets-XFZJ2A5H.mjs +24 -0
- package/dist/lib/node-esm/resolve-navigation-targets-XFZJ2A5H.mjs.map +7 -0
- package/dist/lib/node-esm/run-prompt-in-new-chat-MKDE3P3E.mjs +113 -0
- package/dist/lib/node-esm/run-prompt-in-new-chat-MKDE3P3E.mjs.map +7 -0
- package/dist/lib/node-esm/set-current-chat-G3UMPQAB.mjs +31 -0
- package/dist/lib/node-esm/set-current-chat-G3UMPQAB.mjs.map +7 -0
- package/dist/lib/node-esm/settings-I4NYOU5C.mjs +34 -0
- package/dist/lib/node-esm/settings-I4NYOU5C.mjs.map +7 -0
- package/dist/lib/node-esm/state-GOZALHOZ.mjs +28 -0
- package/dist/lib/node-esm/state-GOZALHOZ.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs +17 -0
- package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -4
- package/dist/lib/node-esm/update-chat-name-TJ3AG762.mjs +37 -0
- package/dist/lib/node-esm/update-chat-name-TJ3AG762.mjs.map +7 -0
- package/dist/types/src/AssistantPlugin.d.ts +2 -1
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
- package/dist/types/src/blueprints/assistant/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager.test.d.ts +2 -0
- package/dist/types/src/blueprints/blueprint-manager.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/ai-service/ai-service.d.ts +6 -0
- package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
- package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
- package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +7 -0
- package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +10 -11
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +13 -0
- package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/markdown/index.d.ts +3 -0
- package/dist/types/src/capabilities/markdown/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/markdown/markdown.d.ts +5 -0
- package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler/index.d.ts +4 -0
- package/dist/types/src/capabilities/operation-handler/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +15 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +18 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +17 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +19 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
- package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts +6 -0
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
- package/dist/types/src/components/Chat/Chat.d.ts +27 -18
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +1 -1
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +6 -3
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +3 -3
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +3 -3
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.d.ts +3 -3
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +139 -13
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/registry.d.ts +1 -1
- package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/sync.d.ts +1 -1
- package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +9 -4
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +130 -5
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +11 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +131 -6
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -1
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +5 -5
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +16 -11
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +130 -5
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
- package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
- package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
- package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
- package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
- package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/index.d.ts +2 -0
- package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +0 -6
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts +8 -0
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -0
- package/dist/types/src/containers/AssistantSettings/index.d.ts +3 -0
- package/dist/types/src/containers/AssistantSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
- package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
- package/dist/types/src/containers/BlueprintArticle/index.d.ts +3 -0
- package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +13 -0
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/ChatCompanion/index.d.ts +3 -0
- package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +20 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
- package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
- package/dist/types/src/containers/ChatDialog/index.d.ts +3 -0
- package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/Project/ProjectArticle.d.ts +7 -0
- package/dist/types/src/containers/Project/ProjectArticle.d.ts.map +1 -0
- package/dist/types/src/containers/Project/ProjectSettings.d.ts +6 -0
- package/dist/types/src/containers/Project/ProjectSettings.d.ts.map +1 -0
- package/dist/types/src/containers/Project/index.d.ts +7 -0
- package/dist/types/src/containers/Project/index.d.ts.map +1 -0
- package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +6 -0
- package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
- package/dist/types/src/containers/PromptArticle/index.d.ts +3 -0
- package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/PromptList/PromptList.d.ts +6 -0
- package/dist/types/src/containers/PromptList/PromptList.d.ts.map +1 -0
- package/dist/types/src/containers/PromptList/PromptList.stories.d.ts +445 -0
- package/dist/types/src/containers/PromptList/PromptList.stories.d.ts.map +1 -0
- package/dist/types/src/containers/PromptList/index.d.ts +3 -0
- package/dist/types/src/containers/PromptList/index.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/TracePanel.d.ts +6 -0
- package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
- package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerStatus/index.d.ts +3 -0
- package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +12 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +2 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -0
- package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
- package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +1 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts +5 -5
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts +2 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatServices.d.ts +4 -5
- package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatToolbarActions.d.ts +3 -3
- package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextObjects.d.ts +7 -7
- package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
- package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
- package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
- package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-chat.d.ts +5 -0
- package/dist/types/src/operations/create-chat.d.ts.map +1 -0
- package/dist/types/src/operations/definitions.d.ts +102 -0
- package/dist/types/src/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +4 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/on-create-space.d.ts +5 -0
- package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
- package/dist/types/src/operations/resolve-navigation-targets.d.ts +15 -0
- package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
- package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
- package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
- package/dist/types/src/operations/set-current-chat.d.ts +5 -0
- package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
- package/dist/types/src/operations/update-chat-name.d.ts +5 -0
- package/dist/types/src/operations/update-chat-name.d.ts.map +1 -0
- package/dist/types/src/processor/processor.d.ts +22 -12
- package/dist/types/src/processor/processor.d.ts.map +1 -1
- package/dist/types/src/processor/update-name.d.ts +2 -2
- package/dist/types/src/processor/update-name.d.ts.map +1 -1
- package/dist/types/src/queue-logger.d.ts.map +1 -1
- package/dist/types/src/testing/test-generator.d.ts +3 -2
- package/dist/types/src/testing/test-generator.d.ts.map +1 -1
- package/dist/types/src/testing/test-services.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +130 -5
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Assistant.d.ts +6 -35
- package/dist/types/src/types/Assistant.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +41 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +5 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +10 -218
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +127 -93
- package/src/AssistantPlugin.tsx +163 -130
- package/src/blueprints/assistant/blueprint.conversations.json +1 -0
- package/src/blueprints/assistant/blueprint.test.ts +48 -0
- package/src/blueprints/assistant/blueprint.ts +31 -0
- package/src/blueprints/assistant/index.ts +5 -0
- package/src/blueprints/blueprint-manager.conversations.json +1 -0
- package/src/blueprints/blueprint-manager.test.ts +123 -0
- package/src/blueprints/index.ts +5 -0
- package/src/capabilities/ai-service/ai-service.ts +30 -0
- package/src/capabilities/ai-service/index.ts +7 -0
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +230 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +58 -0
- package/src/capabilities/blueprint-definition/index.ts +10 -0
- package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +33 -0
- package/src/capabilities/edge-model-resolver/index.ts +7 -0
- package/src/capabilities/index.ts +10 -14
- package/src/capabilities/local-model-resolver/index.ts +7 -0
- package/src/capabilities/local-model-resolver/local-model-resolver.ts +38 -0
- package/src/capabilities/markdown/index.ts +7 -0
- package/src/capabilities/markdown/markdown.ts +39 -0
- package/src/capabilities/operation-handler/index.ts +11 -0
- package/src/capabilities/operation-handler/operation-handler.ts +16 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +158 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +31 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +28 -0
- package/src/capabilities/toolkit/index.ts +7 -0
- package/src/capabilities/toolkit/toolkit.ts +15 -0
- package/src/components/Chat/Chat.tsx +125 -96
- package/src/components/Chat/events.ts +1 -1
- package/src/components/ChatProgress/ChatProgress.tsx +11 -22
- package/src/components/ChatPrompt/ChatActions.tsx +10 -2
- package/src/components/ChatPrompt/ChatOptions.tsx +102 -72
- package/src/components/ChatPrompt/ChatReferences.tsx +17 -8
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
- package/src/components/ChatThread/ChatThread.stories.tsx +23 -21
- package/src/components/ChatThread/ChatThread.tsx +20 -7
- package/src/components/ChatThread/Link.tsx +4 -4
- package/src/components/ChatThread/registry.tsx +52 -19
- package/src/components/ChatThread/sync.test.ts +15 -5
- package/src/components/ChatThread/sync.ts +22 -10
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +5 -9
- package/src/components/TemplateEditor/TemplateEditor.tsx +49 -41
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +20 -10
- package/src/components/TemplateEditor/TemplateForm.tsx +80 -34
- package/src/components/TemplateEditor/extensions/handlebars-extension.ts +14 -9
- package/src/components/ToolBlock/ToolBlock.tsx +19 -19
- package/src/components/Toolbox/Toolbox.stories.tsx +11 -13
- package/src/components/Toolbox/Toolbox.tsx +70 -66
- package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
- package/src/components/Typewriter/Typewriter.stories.tsx +86 -0
- package/src/components/Typewriter/Typewriter.tsx +50 -0
- package/src/components/Typewriter/assistant-extension.tsx +141 -0
- package/src/components/Typewriter/index.ts +5 -0
- package/src/components/index.ts +0 -9
- package/src/{components → containers}/AssistantSettings/AssistantSettings.tsx +28 -20
- package/src/containers/AssistantSettings/index.ts +7 -0
- package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
- package/src/containers/BlueprintArticle/index.ts +7 -0
- package/src/containers/ChatCompanion/ChatCompanion.tsx +231 -0
- package/src/containers/ChatCompanion/index.ts +7 -0
- package/src/containers/ChatContainer/ChatContainer.tsx +92 -0
- package/src/containers/ChatContainer/index.ts +7 -0
- package/src/{components → containers/ChatDialog}/ChatDialog.tsx +11 -14
- package/src/containers/ChatDialog/index.ts +7 -0
- package/src/containers/Project/ProjectArticle.tsx +128 -0
- package/src/containers/Project/ProjectSettings.tsx +135 -0
- package/src/containers/Project/index.ts +16 -0
- package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
- package/src/containers/PromptArticle/index.ts +7 -0
- package/src/containers/PromptList/PromptList.stories.tsx +130 -0
- package/src/containers/PromptList/PromptList.tsx +49 -0
- package/src/containers/PromptList/index.ts +7 -0
- package/src/containers/TracePanel/TracePanel.tsx +347 -0
- package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
- package/src/containers/TracePanel/dxn-extractor.ts +178 -0
- package/src/containers/TracePanel/index.ts +9 -0
- package/src/containers/TriggerStatus/TriggerStatus.tsx +144 -0
- package/src/containers/TriggerStatus/index.ts +7 -0
- package/src/containers/index.ts +17 -0
- package/src/extensions/index.ts +5 -0
- package/src/extensions/prompt-extension.ts +111 -0
- package/src/hooks/index.ts +1 -1
- package/src/hooks/useBlueprintRegistry.ts +36 -22
- package/src/hooks/useChatProcessor.ts +9 -3
- package/src/hooks/useChatServices.ts +13 -25
- package/src/hooks/useChatToolbarActions.ts +27 -27
- package/src/hooks/useContextBinder.ts +4 -2
- package/src/hooks/useContextObjects.ts +16 -24
- package/src/hooks/useFilteredTypes.ts +37 -0
- package/src/hooks/useReferencesProvider.ts +5 -9
- package/src/index.ts +1 -1
- package/src/meta.ts +4 -4
- package/src/operations/create-chat.ts +75 -0
- package/src/operations/definitions.ts +112 -0
- package/src/operations/index.ts +16 -0
- package/src/operations/on-create-space.ts +24 -0
- package/src/operations/resolve-navigation-targets.ts +26 -0
- package/src/operations/run-prompt-in-new-chat.ts +107 -0
- package/src/operations/set-current-chat.ts +27 -0
- package/src/operations/update-chat-name.ts +43 -0
- package/src/processor/processor.test.ts +15 -10
- package/src/processor/processor.ts +110 -54
- package/src/processor/update-name.ts +6 -4
- package/src/queue-logger.ts +4 -1
- package/src/testing/test-generator.ts +4 -3
- package/src/testing/test-sequence.ts +3 -3
- package/src/testing/test-services.ts +8 -6
- package/src/translations.ts +33 -3
- package/src/types/Assistant.ts +4 -39
- package/src/types/capabilities.ts +29 -0
- package/src/types/events.ts +11 -0
- package/src/types/index.ts +5 -1
- package/src/types/service.ts +14 -11
- package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs +0 -36
- package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs.map +0 -7
- package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs +0 -158
- package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs.map +0 -7
- package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs +0 -77
- package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs.map +0 -7
- package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs +0 -90
- package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs.map +0 -7
- package/dist/lib/browser/PromptArticle-45QX25Y5.mjs +0 -59
- package/dist/lib/browser/PromptArticle-45QX25Y5.mjs.map +0 -7
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs +0 -199
- package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-5FT5JGPY.mjs +0 -12
- package/dist/lib/browser/chunk-2BOE3OTW.mjs.map +0 -7
- package/dist/lib/browser/chunk-BNTPFZ7O.mjs +0 -229
- package/dist/lib/browser/chunk-BNTPFZ7O.mjs.map +0 -7
- package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs +0 -335
- package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-IXIIS4QA.mjs +0 -176
- package/dist/lib/browser/chunk-IXIIS4QA.mjs.map +0 -7
- package/dist/lib/browser/chunk-LRE4VEZV.mjs +0 -16
- package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +0 -7
- package/dist/lib/browser/chunk-U62BTGDF.mjs +0 -1929
- package/dist/lib/browser/chunk-U62BTGDF.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs +0 -143
- package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs.map +0 -7
- package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +0 -17
- package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +0 -7
- package/dist/lib/browser/react-surface-YCSR2MSR.mjs +0 -98
- package/dist/lib/browser/react-surface-YCSR2MSR.mjs.map +0 -7
- package/dist/lib/browser/settings-NYJGNQ5I.mjs +0 -23
- package/dist/lib/browser/settings-NYJGNQ5I.mjs.map +0 -7
- package/dist/lib/browser/state-GG7Z3NB7.mjs +0 -25
- package/dist/lib/browser/state-GG7Z3NB7.mjs.map +0 -7
- package/dist/lib/browser/toolkit-VYDAWNE4.mjs +0 -17
- package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +0 -7
- package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs +0 -37
- package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs.map +0 -7
- package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs +0 -159
- package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs +0 -78
- package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs.map +0 -7
- package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs +0 -91
- package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs.map +0 -7
- package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs +0 -60
- package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs.map +0 -7
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs +0 -200
- package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-XW6QQVLV.mjs +0 -13
- package/dist/lib/node-esm/chunk-3Q22TTXW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AB74FOA2.mjs +0 -230
- package/dist/lib/node-esm/chunk-AB74FOA2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BHS747K7.mjs +0 -1930
- package/dist/lib/node-esm/chunk-BHS747K7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs +0 -336
- package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UXTUHH24.mjs +0 -178
- package/dist/lib/node-esm/chunk-UXTUHH24.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YWFWT57N.mjs +0 -17
- package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +0 -7
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +0 -19
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs +0 -144
- package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs.map +0 -7
- package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +0 -18
- package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-CTW44GEM.mjs +0 -99
- package/dist/lib/node-esm/react-surface-CTW44GEM.mjs.map +0 -7
- package/dist/lib/node-esm/settings-RRHYI5KO.mjs +0 -24
- package/dist/lib/node-esm/settings-RRHYI5KO.mjs.map +0 -7
- package/dist/lib/node-esm/state-FSUHFMDM.mjs +0 -26
- package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +0 -18
- package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +0 -7
- package/dist/types/src/capabilities/ai-service.d.ts +0 -4
- package/dist/types/src/capabilities/ai-service.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -7
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -10
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/edge-model-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/local-model-resolver.d.ts +0 -10
- package/dist/types/src/capabilities/local-model-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/state.d.ts +0 -4
- package/dist/types/src/capabilities/state.d.ts.map +0 -1
- package/dist/types/src/capabilities/toolkit.d.ts +0 -4
- package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +0 -6
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +0 -1
- package/dist/types/src/components/AssistantSettings/index.d.ts +0 -2
- package/dist/types/src/components/AssistantSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/BlueprintArticle.d.ts +0 -7
- package/dist/types/src/components/BlueprintArticle.d.ts.map +0 -1
- package/dist/types/src/components/ChatCompanion.d.ts +0 -13
- package/dist/types/src/components/ChatCompanion.d.ts.map +0 -1
- package/dist/types/src/components/ChatContainer.d.ts +0 -14
- package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
- package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
- package/dist/types/src/components/PromptArticle.d.ts +0 -7
- package/dist/types/src/components/PromptArticle.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/functions/analysis.d.ts +0 -5
- package/dist/types/src/functions/analysis.d.ts.map +0 -1
- package/dist/types/src/functions/index.d.ts +0 -4
- package/dist/types/src/functions/index.d.ts.map +0 -1
- package/dist/types/src/functions/object-list.d.ts +0 -10
- package/dist/types/src/functions/object-list.d.ts.map +0 -1
- package/dist/types/src/functions/object-load.d.ts +0 -8
- package/dist/types/src/functions/object-load.d.ts.map +0 -1
- package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
- package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
- package/dist/types/src/types/AssistantAction.d.ts +0 -132
- package/dist/types/src/types/AssistantAction.d.ts.map +0 -1
- package/src/capabilities/ai-service.ts +0 -27
- package/src/capabilities/app-graph-builder.ts +0 -210
- package/src/capabilities/blueprint-definition.ts +0 -66
- package/src/capabilities/capabilities.ts +0 -17
- package/src/capabilities/edge-model-resolver.ts +0 -25
- package/src/capabilities/intent-resolver.ts +0 -147
- package/src/capabilities/local-model-resolver.ts +0 -30
- package/src/capabilities/react-surface.tsx +0 -87
- package/src/capabilities/settings.ts +0 -19
- package/src/capabilities/state.ts +0 -22
- package/src/capabilities/toolkit.ts +0 -17
- package/src/components/AssistantSettings/index.ts +0 -5
- package/src/components/BlueprintArticle.tsx +0 -29
- package/src/components/ChatCompanion.tsx +0 -155
- package/src/components/ChatContainer.tsx +0 -61
- package/src/components/ChatThread/reducers.ts +0 -151
- package/src/components/PromptArticle.tsx +0 -51
- package/src/events.ts +0 -11
- package/src/functions/analysis.ts +0 -22
- package/src/functions/index.ts +0 -7
- package/src/functions/object-list.ts +0 -48
- package/src/functions/object-load.ts +0 -45
- package/src/hooks/useItemTypes.ts +0 -37
- package/src/types/AssistantAction.ts +0 -79
- /package/dist/lib/browser/{blueprint-definition-5FT5JGPY.mjs.map → ChatContainer-6IA3SIYM.mjs.map} +0 -0
- /package/dist/lib/{node-esm/blueprint-definition-XW6QQVLV.mjs.map → browser/blueprints/index.mjs.map} +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { describe, expect, it } from '@effect/vitest';
|
|
6
|
+
import * as Effect from 'effect/Effect';
|
|
7
|
+
import * as Layer from 'effect/Layer';
|
|
8
|
+
|
|
9
|
+
import { AiConversationService } from '@dxos/assistant';
|
|
10
|
+
import { AssistantTestLayer } from '@dxos/assistant/testing';
|
|
11
|
+
import { DatabaseBlueprint, DatabaseHandlers } from '@dxos/assistant-toolkit';
|
|
12
|
+
import { addBlueprints } from '@dxos/assistant-toolkit/testing';
|
|
13
|
+
import { Blueprint } from '@dxos/blueprints';
|
|
14
|
+
import { TestHelpers } from '@dxos/effect/testing';
|
|
15
|
+
import { ObjectId } from '@dxos/keys';
|
|
16
|
+
import { Organization } from '@dxos/types';
|
|
17
|
+
|
|
18
|
+
import AssistantBlueprint from './blueprint';
|
|
19
|
+
|
|
20
|
+
ObjectId.dangerouslyDisableRandomness();
|
|
21
|
+
|
|
22
|
+
const TestLayer = AssistantTestLayer({
|
|
23
|
+
operationHandlers: DatabaseHandlers,
|
|
24
|
+
types: [Organization.Organization, Blueprint.Blueprint],
|
|
25
|
+
tracing: 'pretty',
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const provideTestLayers = Effect.provide(AiConversationService.layerNewQueue().pipe(Layer.provideMerge(TestLayer)));
|
|
29
|
+
|
|
30
|
+
describe('Assistant Blueprint', () => {
|
|
31
|
+
// TODO(dmaretskyi): Regenerate memoized conversation with ALLOW_LLM_GENERATION=1.
|
|
32
|
+
it.effect.skip(
|
|
33
|
+
'works with Database blueprint to create objects',
|
|
34
|
+
Effect.fnUntraced(
|
|
35
|
+
function* (_) {
|
|
36
|
+
yield* addBlueprints([AssistantBlueprint, DatabaseBlueprint]);
|
|
37
|
+
const messages = yield* AiConversationService.run({
|
|
38
|
+
prompt: 'Create a new organization called "Test Corp".',
|
|
39
|
+
});
|
|
40
|
+
const lastMessage = messages.at(-1);
|
|
41
|
+
expect(lastMessage).toBeDefined();
|
|
42
|
+
},
|
|
43
|
+
provideTestLayers,
|
|
44
|
+
TestHelpers.provideTestContext,
|
|
45
|
+
),
|
|
46
|
+
{ timeout: 60_000 },
|
|
47
|
+
);
|
|
48
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { LayoutOperation, type AppCapabilities } from '@dxos/app-toolkit';
|
|
6
|
+
import { templates } from '@dxos/assistant';
|
|
7
|
+
import { Blueprint } from '@dxos/blueprints';
|
|
8
|
+
|
|
9
|
+
import { AssistantOperation } from '../../operations';
|
|
10
|
+
|
|
11
|
+
const BLUEPRINT_KEY = 'org.dxos.blueprint.assistant';
|
|
12
|
+
|
|
13
|
+
const make = () =>
|
|
14
|
+
Blueprint.make({
|
|
15
|
+
key: BLUEPRINT_KEY,
|
|
16
|
+
name: 'Assistant',
|
|
17
|
+
tools: Blueprint.toolDefinitions({
|
|
18
|
+
// TODO(wittjosiah): LayoutOperation.Open requires Capability.Service which is only available
|
|
19
|
+
// via the compute-runtime layer (plugin-automation). Once Capability.Service is propagated
|
|
20
|
+
// through LocalFunctionExecutionService, this will work without the compute-runtime dependency.
|
|
21
|
+
operations: [LayoutOperation.Open, AssistantOperation.ResolveNavigationTargets],
|
|
22
|
+
}),
|
|
23
|
+
instructions: templates.system,
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const blueprint: AppCapabilities.BlueprintDefinition = {
|
|
27
|
+
key: BLUEPRINT_KEY,
|
|
28
|
+
make,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default blueprint;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01AmGR1bVJzE5TeH4oXWB9Lw","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to enable","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the Markdown blueprint and create","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" a markdown document.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Let me first","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" query bluep","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"rints to discover","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" available","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" ones","metadata":{}},{"type":"reasoning-delta","id":"0","delta":", then enable the Markdown blueprint.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtkCCkYICxgCKkDS+xH8Ev0CI7Vv2sMv1C0K4FUGf9PC0uXh6x4hcHWXLjqIyk13Ctj+6DkClgGAn/SYgqZAgptw4s4XWfZ7PQjdEgwW7620mENwj6duuN0aDPEQkkbE3R2IqhLAqyIw2Pyk1IyR9tmQcTxlFLds/mtkLgkZe2TJFHBer3mUBON/YWNvGBtJwmW5A4+BCbMHKsAB3SVoJh9ZSi3Heuz1LriIrOOartOPrphn2JEsf7zpkSgitAzZNkkFT/XRQ5QpD1eDGU4DSfrGtU8uglPVF2SqzVr4BEyOlgmcbBP6BTvH5yQhGOk7t/BlgQh7UuLMiF8byEmxCk1gWH2E5phgk+M6ENsb8sFOE9W44k/zNu4tAftfbBYzhB/VHuftc/XKv0ag9xohhN11/s+UEcIHeoViojwsD4j+CkASt4ACxtb20VxkF+bA/vJBu3a5GORWWDMgGAE="}}},{"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 querying the available blueprints","metadata":{}},{"type":"text-delta","id":"1","delta":",","metadata":{}},{"type":"text-delta","id":"1","delta":" then enable the Markdown blueprint.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","name":"query-blueprints","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1005,"outputTokens":101,"totalTokens":1106},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":1005,"output_tokens":6,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to enable the Markdown blueprint and create a markdown document. Let me first query blueprints to discover available ones, then enable the Markdown blueprint.","options":{}},{"type":"text","text":"I'll start by querying the available blueprints, then enable the Markdown blueprint.","options":{}},{"type":"tool-call","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","name":"query-blueprints","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","name":"query-blueprints","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT88","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.blueprint-manager.query-blueprints","org.dxos.function.blueprint-manager.enable-blueprints"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT87"},"inputs":[{"name":"blueprints","kind":"function","function":"org.dxos.function.blueprint-manager.query-blueprints"}]},"key":"org.dxos.blueprint.blueprint-manager","name":"Blueprint Manager","description":"Query and enable blueprints in the current conversation."},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8A","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"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"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT89"}},"key":"org.dxos.blueprint.database","name":"Database","description":"Query and manipulate objects in the ECHO database.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8C","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8B"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","description":"Work with markdown documents.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8E","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.research.document-create","org.dxos.function.research"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8D"}},"key":"org.dxos.blueprint.research","name":"Research","description":"Researches the web and creates structured data."}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01TmmaYDupg37QM42MhKrCah","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" Markdown blueprint is","metadata":{}},{"type":"text-delta","id":"0","delta":" available","metadata":{}},{"type":"text-delta","id":"0","delta":" and","metadata":{}},{"type":"text-delta","id":"0","delta":" can","metadata":{}},{"type":"text-delta","id":"0","delta":" be enabled. Let","metadata":{}},{"type":"text-delta","id":"0","delta":" me enable","metadata":{}},{"type":"text-delta","id":"0","delta":" it now","metadata":{}},{"type":"text-delta","id":"0","delta":".","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","name":"enable-blueprints","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"ke","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"ys\": [\"org.d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"xo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"s.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"bluep","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"ri","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"nt.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","delta":"markdown\"]}","metadata":{}},{"type":"tool-params-end","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1898,"outputTokens":83,"totalTokens":1981},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":1898,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}},{"name":"create-markdown-document","description":"Creates a new markdown document.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string","description":"Name of the document."},"content":{"type":"string","description":"Content of the document."}},"additionalProperties":false}},{"name":"read-markdown-document","description":"Read markdown document. Note that result is a snapshot in time, and might have changed since the document was last read.","inputSchema":{"type":"object","required":["document"],"properties":{"document":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object 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-markdown","description":"Updates the entire contents of the markdown document.","inputSchema":{"type":"object","required":["doc","content"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"content":{"type":"string","description":"New content to write to the document."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n</blueprint>\n\n<blueprint>\n You read, write & create markdown documents.\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to enable the Markdown blueprint and create a markdown document. Let me first query blueprints to discover available ones, then enable the Markdown blueprint.","options":{}},{"type":"text","text":"I'll start by querying the available blueprints, then enable the Markdown blueprint.","options":{}},{"type":"tool-call","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","name":"query-blueprints","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","name":"query-blueprints","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT88","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.blueprint-manager.query-blueprints","org.dxos.function.blueprint-manager.enable-blueprints"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT87"},"inputs":[{"name":"blueprints","kind":"function","function":"org.dxos.function.blueprint-manager.query-blueprints"}]},"key":"org.dxos.blueprint.blueprint-manager","name":"Blueprint Manager","description":"Query and enable blueprints in the current conversation."},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8A","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"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"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT89"}},"key":"org.dxos.blueprint.database","name":"Database","description":"Query and manipulate objects in the ECHO database.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8C","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8B"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","description":"Work with markdown documents.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8E","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.research.document-create","org.dxos.function.research"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8D"}},"key":"org.dxos.blueprint.research","name":"Research","description":"Researches the web and creates structured data."}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"text","text":"The Markdown blueprint is available and can be enabled. Let me enable it now.","options":{}},{"type":"tool-call","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","name":"enable-blueprints","params":{"keys":["org.dxos.blueprint.markdown"]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","name":"enable-blueprints","isFailure":false,"result":{"enabled":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT8Z","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"agentCanEnable":true,"description":"Work with markdown documents.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8Y"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"]}],"rejected":[]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01WLkr6kHjzBfpXRXStXrs7a","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" Markdown blueprint is","metadata":{}},{"type":"text-delta","id":"0","delta":" enabled","metadata":{}},{"type":"text-delta","id":"0","delta":"!","metadata":{}},{"type":"text-delta","id":"0","delta":" Now let me create the","metadata":{}},{"type":"text-delta","id":"0","delta":" \"Cookie Recipe\" document","metadata":{}},{"type":"text-delta","id":"0","delta":" with","metadata":{}},{"type":"text-delta","id":"0","delta":" a chocolate","metadata":{}},{"type":"text-delta","id":"0","delta":" chip cookie recipe.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","name":"create-markdown-document","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"{\"nam","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" \"Co","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"okie Recipe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":", \"cont","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ent\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"\"#","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" Cho","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"colate C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"hip Cookie","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"s\\n\\nA cl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"assic, si","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"mpl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e recipe f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"or del","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"icio","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"us","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" homemade","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ocol","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ate ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"chi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"p cook","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ies.\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"\\n## ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"Ing","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"redi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ents\\n\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" 2 ¼ cups a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ll-purpose f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"lo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ur\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n- 1 ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"tsp bak","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ing soda\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n- 1 ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"tsp salt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"\\n- 1 cup (","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"2 sticks) ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"butter,","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" soften","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ed\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"- ¾ cup ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"granulate","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"d sugar\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"- ¾","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" cup pac","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ked br","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"own sugar\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n- ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"2 la","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"rge","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" eggs\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" 2 ts","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"p vanil","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"la extr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"act\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"- 2 cu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ps","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" semi-s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"weet ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"chocola","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"te c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"hips\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n#","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"# Instructi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ons\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n\\n1. **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"Pre","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"heat** ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"your ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"oven to 375","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"°F","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" (190","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"°C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":").\\n2. **Mix","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" dry ingredi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ents:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"** In a ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"bowl, wh","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"isk t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ogethe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"r flou","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"r, ba","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"king soda","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":", and sal","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"t.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" Set asi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"de.\\n3. **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"Cream b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"utter and","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" sugars:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" In a l","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"arge bowl, ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"beat th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e softene","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"d butt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"er, gra","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"nulated suga","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"r, ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"and brow","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n sug","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ar u","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ntil light a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"nd fl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"uf","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"fy.\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n4. **A","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"dd eggs and","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" v","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"an","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"illa:** Be","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"at in the e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"gg","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"s on","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e at a time","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":", then","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" stir in ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"the vanilla ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ext","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ra","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ct.\\n5. **Co","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"mbi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ne:** Grad","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ually mix th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e dry ingre","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"dients","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"nto ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"the wet i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ngr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"edients ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"until j","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ust com","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"bined.\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"6. **Fold","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" in choc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"olate chips:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"** Stir in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" the choco","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"late chips ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"with","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" a spatula.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"\\n7. **Sc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"oop and b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ake:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" Drop ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"rounded tab","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"les","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"po","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ons of ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"dough on","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"to un","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"grea","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"se","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"d baking s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"he","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ets. Bake ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"for 9","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"–11 minu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"tes, or unti","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"l go","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"lden ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"brown.\\n8. ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"**Coo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"l:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" Let ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"cookies cool","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" on the baki","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ng sheet","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" fo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"r ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"2 mi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"nute","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"s, then tr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ansfer to ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"a wir","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e rack.\\n\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n##","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" Tips\\n\\n- ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"Don't ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"overmix t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"he ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"dough — t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"his kee","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ps ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"cooki","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"es ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"soft and te","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"nder.\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"- For chewie","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"r co","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"okies, use","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" more bro","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"wn sugar","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" than gra","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"nulate","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"d sugar.\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" Chill th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e dough f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"or 30 minut","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"es befor","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"e baking fo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"r thic","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ker ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"cook","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ies.\\n\\n*","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"*Yield:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"** ~","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"5 doz","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"en cookies |","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"Prep","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" time","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":":** 15 min","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" | **Bake t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"ime:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":" 9–11 mi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"n\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","delta":"\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3030,"outputTokens":540,"totalTokens":3570},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":3030,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}},{"name":"create-markdown-document","description":"Creates a new markdown document.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string","description":"Name of the document."},"content":{"type":"string","description":"Content of the document."}},"additionalProperties":false}},{"name":"read-markdown-document","description":"Read markdown document. Note that result is a snapshot in time, and might have changed since the document was last read.","inputSchema":{"type":"object","required":["document"],"properties":{"document":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object 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-markdown","description":"Updates the entire contents of the markdown document.","inputSchema":{"type":"object","required":["doc","content"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"content":{"type":"string","description":"New content to write to the document."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n</blueprint>\n\n<blueprint>\n You read, write & create markdown documents.\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to enable the Markdown blueprint and create a markdown document. Let me first query blueprints to discover available ones, then enable the Markdown blueprint.","options":{}},{"type":"text","text":"I'll start by querying the available blueprints, then enable the Markdown blueprint.","options":{}},{"type":"tool-call","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","name":"query-blueprints","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Q9XbSfCFcdwBp4oWPKmcPD","name":"query-blueprints","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT88","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.blueprint-manager.query-blueprints","org.dxos.function.blueprint-manager.enable-blueprints"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT87"},"inputs":[{"name":"blueprints","kind":"function","function":"org.dxos.function.blueprint-manager.query-blueprints"}]},"key":"org.dxos.blueprint.blueprint-manager","name":"Blueprint Manager","description":"Query and enable blueprints in the current conversation."},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8A","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"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"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT89"}},"key":"org.dxos.blueprint.database","name":"Database","description":"Query and manipulate objects in the ECHO database.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8C","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8B"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","description":"Work with markdown documents.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8E","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.research.document-create","org.dxos.function.research"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8D"}},"key":"org.dxos.blueprint.research","name":"Research","description":"Researches the web and creates structured data."}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"text","text":"The Markdown blueprint is available and can be enabled. Let me enable it now.","options":{}},{"type":"tool-call","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","name":"enable-blueprints","params":{"keys":["org.dxos.blueprint.markdown"]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01KDk1B4qUDnLpZXrXLkd8z3","name":"enable-blueprints","isFailure":false,"result":{"enabled":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT8Z","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"agentCanEnable":true,"description":"Work with markdown documents.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8Y"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"]}],"rejected":[]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"text","text":"The Markdown blueprint is enabled! Now let me create the \"Cookie Recipe\" document with a chocolate chip cookie recipe.","options":{}},{"type":"tool-call","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","name":"create-markdown-document","params":{"name":"Cookie Recipe","content":"# Chocolate Chip Cookies\n\nA classic, simple recipe for delicious homemade chocolate chip cookies.\n\n## Ingredients\n\n- 2 ¼ cups all-purpose flour\n- 1 tsp baking soda\n- 1 tsp salt\n- 1 cup (2 sticks) butter, softened\n- ¾ cup granulated sugar\n- ¾ cup packed brown sugar\n- 2 large eggs\n- 2 tsp vanilla extract\n- 2 cups semi-sweet chocolate chips\n\n## Instructions\n\n1. **Preheat** your oven to 375°F (190°C).\n2. **Mix dry ingredients:** In a bowl, whisk together flour, baking soda, and salt. Set aside.\n3. **Cream butter and sugars:** In a large bowl, beat the softened butter, granulated sugar, and brown sugar until light and fluffy.\n4. **Add eggs and vanilla:** Beat in the eggs one at a time, then stir in the vanilla extract.\n5. **Combine:** Gradually mix the dry ingredients into the wet ingredients until just combined.\n6. **Fold in chocolate chips:** Stir in the chocolate chips with a spatula.\n7. **Scoop and bake:** Drop rounded tablespoons of dough onto ungreased baking sheets. Bake for 9–11 minutes, or until golden brown.\n8. **Cool:** Let cookies cool on the baking sheet for 2 minutes, then transfer to a wire rack.\n\n## Tips\n\n- Don't overmix the dough — this keeps cookies soft and tender.\n- For chewier cookies, use more brown sugar than granulated sugar.\n- Chill the dough for 30 minutes before baking for thicker cookies.\n\n**Yield:** ~5 dozen cookies | **Prep time:** 15 min | **Bake time:** 9–11 min\n"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01BDBVHCDVP6vYv3uGHdWgLG","name":"create-markdown-document","isFailure":false,"result":{"document":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT98","target":{"id":"01JGFJJZ00G0WKQSJGMAKCNT98","@type":"dxn:type:org.dxos.type.document:0.1.0","@meta":{"keys":[]},"content":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT97"},"name":"Cookie Recipe"}}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01KRLDCF7NtahkPzxU3raYdc","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! ","metadata":{}},{"type":"text-delta","id":"0","delta":"✅","metadata":{}},{"type":"text-delta","id":"0","delta":" Here","metadata":{}},{"type":"text-delta","id":"0","delta":"'s what","metadata":{}},{"type":"text-delta","id":"0","delta":" I did","metadata":{}},{"type":"text-delta","id":"0","delta":":\n\n1. **Enabled the","metadata":{}},{"type":"text-delta","id":"0","delta":" Markdown blueprint** for","metadata":{}},{"type":"text-delta","id":"0","delta":" working","metadata":{}},{"type":"text-delta","id":"0","delta":" with documents","metadata":{}},{"type":"text-delta","id":"0","delta":".","metadata":{}},{"type":"text-delta","id":"0","delta":"\n2. **Created the","metadata":{}},{"type":"text-delta","id":"0","delta":" \"Cookie Recipe\" document** with a","metadata":{}},{"type":"text-delta","id":"0","delta":" complete","metadata":{}},{"type":"text-delta","id":"0","delta":" chocolate chip cookie recipe that","metadata":{}},{"type":"text-delta","id":"0","delta":" includes:\n - A","metadata":{}},{"type":"text-delta","id":"0","delta":" full","metadata":{}},{"type":"text-delta","id":"0","delta":" **","metadata":{}},{"type":"text-delta","id":"0","delta":"ingredients","metadata":{}},{"type":"text-delta","id":"0","delta":" list** (","metadata":{}},{"type":"text-delta","id":"0","delta":"flour","metadata":{}},{"type":"text-delta","id":"0","delta":", butter","metadata":{}},{"type":"text-delta","id":"0","delta":", sug","metadata":{}},{"type":"text-delta","id":"0","delta":"ars, eggs, vanilla, chocolate chips","metadata":{}},{"type":"text-delta","id":"0","delta":",","metadata":{}},{"type":"text-delta","id":"0","delta":" etc","metadata":{}},{"type":"text-delta","id":"0","delta":".)\n - Step","metadata":{}},{"type":"text-delta","id":"0","delta":"-by-step **","metadata":{}},{"type":"text-delta","id":"0","delta":"b","metadata":{}},{"type":"text-delta","id":"0","delta":"aking instructions**","metadata":{}},{"type":"text-delta","id":"0","delta":"\n -","metadata":{}},{"type":"text-delta","id":"0","delta":" Helpful **","metadata":{}},{"type":"text-delta","id":"0","delta":"tips** for getting","metadata":{}},{"type":"text-delta","id":"0","delta":" the perfect","metadata":{}},{"type":"text-delta","id":"0","delta":" texture","metadata":{}},{"type":"text-delta","id":"0","delta":"\n -","metadata":{}},{"type":"text-delta","id":"0","delta":" Yield","metadata":{}},{"type":"text-delta","id":"0","delta":" and","metadata":{}},{"type":"text-delta","id":"0","delta":" timing","metadata":{}},{"type":"text-delta","id":"0","delta":" info","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nThe document","metadata":{}},{"type":"text-delta","id":"0","delta":" is ready","metadata":{}},{"type":"text-delta","id":"0","delta":" for","metadata":{}},{"type":"text-delta","id":"0","delta":" you to view","metadata":{}},{"type":"text-delta","id":"0","delta":" and edit","metadata":{}},{"type":"text-delta","id":"0","delta":"! 🍪","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":3718,"outputTokens":129,"totalTokens":3847},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":3718,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n \n NOTE: You must enable the blueprint to use it, only then the tools from that blueprint will appear.\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01XWf4CiBHe9JSPQ1ZLuz7H8","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to enable","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" the Markdown blueprint and create","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" a document","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" Let me first","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" query bluep","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"rints,","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" then enable the Markdown one","metadata":{}},{"type":"reasoning-delta","id":"0","delta":".","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Eq8CCkYICxgCKkAfQ8/FYoecUiAd5cU+0d9LkCPb6nkQMs5XwSsKTTh5od+9QrOL0Gl0L4+iDwwa1TtLWGvbMGPRStR8IuGJyCXmEgwnS/TDQM6byVe5REUaDCUdTK8lAdhvW21rlCIwfeApsXCTe3ep4dl09SD633xAhcy4WrXVk0FW40Np/sBO3+YHTsaxZ7xl+vu0yu1bKpYBlffdtDdkgaKcsi7qFElLRuLt/JpQwDS3HySHUUqSk6lNtWZBijWlHRkAniAf50RPHEMd8/0Mxbn1hE+84acAem5TX/EgazTHc7jV6fXB87WlJgHqX7ukcyY+9ohcpEWSfAiPQsJUd3BPr5oCHTiCxwQoLTBMP/xPEjsC0hH+e02mDu/u9qb/xOBt7q+a9C3M8iO6DYXoGAE="}}},{"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 start","metadata":{}},{"type":"text-delta","id":"1","delta":" by querying the available blueprints","metadata":{}},{"type":"text-delta","id":"1","delta":" and","metadata":{}},{"type":"text-delta","id":"1","delta":" then enable the Markdown blueprint.","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"tool-params-start","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","name":"query-blueprints","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","delta":"","metadata":{}},{"type":"tool-params-end","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1030,"outputTokens":96,"totalTokens":1126},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":1030,"output_tokens":6,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n \n NOTE: You must enable the blueprint to use it, only then the tools from that blueprint will appear.\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to enable the Markdown blueprint and create a document. Let me first query blueprints, then enable the Markdown one.","options":{}},{"type":"text","text":"I'll start by querying the available blueprints and then enable the Markdown blueprint.","options":{}},{"type":"tool-call","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","name":"query-blueprints","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","name":"query-blueprints","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT88","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.blueprint-manager.query-blueprints","org.dxos.function.blueprint-manager.enable-blueprints"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT87"},"inputs":[{"name":"blueprints","kind":"function","function":"org.dxos.function.blueprint-manager.query-blueprints"}]},"key":"org.dxos.blueprint.blueprint-manager","name":"Blueprint Manager","description":"Query and enable blueprints in the current conversation."},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8A","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"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"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT89"}},"key":"org.dxos.blueprint.database","name":"Database","description":"Query and manipulate objects in the ECHO database.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8C","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8B"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","description":"Work with markdown documents.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8E","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.research.document-create","org.dxos.function.research"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8D"}},"key":"org.dxos.blueprint.research","name":"Research","description":"Researches the web and creates structured data."}],"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01ACWccwe7dp17esq3YzKQgJ","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" Markdown blueprint is","metadata":{}},{"type":"text-delta","id":"0","delta":" available","metadata":{}},{"type":"text-delta","id":"0","delta":" and","metadata":{}},{"type":"text-delta","id":"0","delta":" can","metadata":{}},{"type":"text-delta","id":"0","delta":" be enabled. Let","metadata":{}},{"type":"text-delta","id":"0","delta":" me enable","metadata":{}},{"type":"text-delta","id":"0","delta":" it now","metadata":{}},{"type":"text-delta","id":"0","delta":".","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","name":"enable-blueprints","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"{\"ke","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"ys\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":": [\"org.d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"xos.b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"luep","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"rint.mar","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"kdown\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","delta":"]}","metadata":{}},{"type":"tool-params-end","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1923,"outputTokens":83,"totalTokens":2006},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":1923,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}},{"name":"create-markdown-document","description":"Creates a new markdown document.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string","description":"Name of the document."},"content":{"type":"string","description":"Content of the document."}},"additionalProperties":false}},{"name":"read-markdown-document","description":"Read markdown document. Note that result is a snapshot in time, and might have changed since the document was last read.","inputSchema":{"type":"object","required":["document"],"properties":{"document":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object 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-markdown","description":"Updates the entire contents of the markdown document.","inputSchema":{"type":"object","required":["doc","content"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"content":{"type":"string","description":"New content to write to the document."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n \n NOTE: You must enable the blueprint to use it, only then the tools from that blueprint will appear.\n</blueprint>\n\n<blueprint>\n You read, write & create markdown documents.\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to enable the Markdown blueprint and create a document. Let me first query blueprints, then enable the Markdown one.","options":{}},{"type":"text","text":"I'll start by querying the available blueprints and then enable the Markdown blueprint.","options":{}},{"type":"tool-call","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","name":"query-blueprints","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","name":"query-blueprints","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT88","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.blueprint-manager.query-blueprints","org.dxos.function.blueprint-manager.enable-blueprints"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT87"},"inputs":[{"name":"blueprints","kind":"function","function":"org.dxos.function.blueprint-manager.query-blueprints"}]},"key":"org.dxos.blueprint.blueprint-manager","name":"Blueprint Manager","description":"Query and enable blueprints in the current conversation."},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8A","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"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"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT89"}},"key":"org.dxos.blueprint.database","name":"Database","description":"Query and manipulate objects in the ECHO database.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8C","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8B"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","description":"Work with markdown documents.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8E","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.research.document-create","org.dxos.function.research"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8D"}},"key":"org.dxos.blueprint.research","name":"Research","description":"Researches the web and creates structured data."}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"text","text":"The Markdown blueprint is available and can be enabled. Let me enable it now.","options":{}},{"type":"tool-call","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","name":"enable-blueprints","params":{"keys":["org.dxos.blueprint.markdown"]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","name":"enable-blueprints","isFailure":false,"result":{"enabled":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT9T","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"agentCanEnable":true,"description":"Work with markdown documents.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT9S"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"]}],"rejected":[]},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01BGG6yVjwLvu5oERKZ9nKci","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" Markdown blueprint is","metadata":{}},{"type":"text-delta","id":"0","delta":" enabled","metadata":{}},{"type":"text-delta","id":"0","delta":"!","metadata":{}},{"type":"text-delta","id":"0","delta":" Now let me create the","metadata":{}},{"type":"text-delta","id":"0","delta":" \"Cookie Recipe\" document","metadata":{}},{"type":"text-delta","id":"0","delta":" with","metadata":{}},{"type":"text-delta","id":"0","delta":" a chocolate","metadata":{}},{"type":"text-delta","id":"0","delta":" chip cookie recipe.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","name":"create-markdown-document","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"{\"name","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"\": \"Cookie","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" R","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ecipe\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":", \"content","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" \"# C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"hocol","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ate Chip Coo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"kie","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"s\\n\\nA cla","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ssic, simpl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"e reci","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"pe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" for ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"soft an","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"d chewy ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ocolate chi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"p ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"cooki","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"es.\\n\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"## Ingr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"edien","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ts\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"n\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" 2¼ cups a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ll-pur","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"pose flou","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"r\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"- 1 ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"tsp","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" baking s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"oda\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"n- 1 tsp ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"salt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"\\n- 1","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" cup (2 ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"sticks) ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"butter, ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"softened\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"n- ¾ cup ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"gr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"anulated su","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"gar\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" ¾ cup ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"packe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"d brown","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" suga","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"r\\n- 2 la","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"rge eggs\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" 2 tsp vanil","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"la extract\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"- 2 cups c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"hocolate ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ips\\n\\n##","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" Instr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"uctions\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"\\n1. **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"Preheat** yo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ur o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ven to 375","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"°F (19","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"0°C).\\n2. ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"**Mix","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" dry ingre","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"dien","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ts:** In ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"a bowl,","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" whisk toget","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"her the ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"flour, ba","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ki","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ng sod","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"a, and sal","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"t. Set asi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"de.\\n3. **C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ream ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"bu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"tter a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"nd","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" sugars:** I","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"n a large b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ow","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"l, bea","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"t th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"e ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"so","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ftened bu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"tt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"er, granu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"lated ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"su","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"gar, and br","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"own sugar u","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ntil l","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ight and fl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"uffy.\\n4. ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"Add eggs a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"nd va","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"nilla:** B","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"eat in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" the eggs on","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"e at a ti","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"me, then sti","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"r in th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"e vanilla e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"xtrac","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"t.\\n5","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":". **Co","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"mbine:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" G","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"radually mix","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"e ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"dry ingredi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ents into ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"the wet in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"gredients un","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"til","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" just comb","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ined.\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"6. **Fo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ld in choco","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"late chips","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":":** Stir","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" in ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"the choc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ol","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ate chi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ps","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" with","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" a spatula.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"\\n7.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" **Scoop ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"and b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ake:** Dro","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"p rounded","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" ta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"blespoons","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" of ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"dough ont","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"o ungrea","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"sed bak","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ing sheets. ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"Bake for","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" 9","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"–11","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" min","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"utes, or ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"until the e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"dges ar","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"e gold","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"en brown","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":".\\n8","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":". **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"Cool:** Le","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"t the","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" cookies ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"cool on","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" the ba","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"king","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" sheet ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"for 2 minute","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"s, the","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"n transfer ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"to a wire","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" rack","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":".\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"\\n## Tip","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"s\\n\\n- For ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"chewi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"er coo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"kies, use m","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ore brown","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" sugar than","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" white","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" su","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"gar.\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" Chill","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"he d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ough for 30","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" minutes b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"efore bakin","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"g for thi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"cker cookies","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":".\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"- Don't ove","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"rb","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ake —","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" the cookies","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":" will fir","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"m up as ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"the","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"y cool!\\n\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"n**Yie","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"ld:** ~5 ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"doz","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"en ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"cookie","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"s | ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"**Prep ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"Time:*","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"* 15 m","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"in | **Bake ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"Time:** ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"9–1","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"1 min\\n\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"Enjoy","metadata":{}},{"type":"tool-params-delta","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","delta":"! 🍪\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":3055,"outputTokens":544,"totalTokens":3599},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":3055,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"query-blueprints","description":"Queries available blueprints.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"enable-blueprints","description":"Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.","inputSchema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"string"},"description":"The keys of the blueprints to enable.","examples":[["org.dxos.blueprint.markdown","org.dxos.blueprint.database"]]}},"additionalProperties":false}},{"name":"create-markdown-document","description":"Creates a new markdown document.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string","description":"Name of the document."},"content":{"type":"string","description":"Content of the document."}},"additionalProperties":false}},{"name":"read-markdown-document","description":"Read markdown document. Note that result is a snapshot in time, and might have changed since the document was last read.","inputSchema":{"type":"object","required":["document"],"properties":{"document":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object 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-markdown","description":"Updates the entire contents of the markdown document.","inputSchema":{"type":"object","required":["doc","content"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"content":{"type":"string","description":"New content to write to the document."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can query available blueprints and enable them in the current conversation.\n Use [query-blueprints] to refresh the list of available blueprints.\n Use [enable-blueprints] to enable blueprints by their keys. Always call [query-blueprints] first.\n Only blueprints with agentCanEnable=true can be enabled by the agent.\n \n <available_blueprints>\n - org.dxos.blueprint.blueprint-manager \"Blueprint Manager\" -- Query and enable blueprints in the current conversation.\n - org.dxos.blueprint.database \"Database\" -- Query and manipulate objects in the ECHO database. [agent-can-enable]\n - org.dxos.blueprint.markdown \"Markdown\" -- Work with markdown documents. [agent-can-enable]\n - org.dxos.blueprint.research \"Research\" -- Researches the web and creates structured data.\n </available_blueprints>\n \n NOTE: You must enable the blueprint to use it, only then the tools from that blueprint will appear.\n</blueprint>\n\n<blueprint>\n You read, write & create markdown documents.\n</blueprint>","options":{}},{"role":"user","content":"Enable the Markdown blueprint and then create a markdown document called \"Cookie Recipe\" with a simple chocolate chip cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to enable the Markdown blueprint and create a document. Let me first query blueprints, then enable the Markdown one.","options":{}},{"type":"text","text":"I'll start by querying the available blueprints and then enable the Markdown blueprint.","options":{}},{"type":"tool-call","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","name":"query-blueprints","params":{},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01F5BvmKQw2yfBzwb9pvkpDb","name":"query-blueprints","isFailure":false,"result":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT88","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.blueprint-manager.query-blueprints","org.dxos.function.blueprint-manager.enable-blueprints"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT87"},"inputs":[{"name":"blueprints","kind":"function","function":"org.dxos.function.blueprint-manager.query-blueprints"}]},"key":"org.dxos.blueprint.blueprint-manager","name":"Blueprint Manager","description":"Query and enable blueprints in the current conversation."},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8A","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"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"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT89"}},"key":"org.dxos.blueprint.database","name":"Database","description":"Query and manipulate objects in the ECHO database.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8C","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8B"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","description":"Work with markdown documents.","agentCanEnable":true},{"id":"01JGFJJZ00G0WKQSJGMAKCNT8E","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"tools":["org.dxos.function.research.document-create","org.dxos.function.research"],"instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT8D"}},"key":"org.dxos.blueprint.research","name":"Research","description":"Researches the web and creates structured data."}],"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"text","text":"The Markdown blueprint is available and can be enabled. Let me enable it now.","options":{}},{"type":"tool-call","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","name":"enable-blueprints","params":{"keys":["org.dxos.blueprint.markdown"]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SDr1Au8cwCBZi9mKSvmngU","name":"enable-blueprints","isFailure":false,"result":{"enabled":[{"id":"01JGFJJZ00G0WKQSJGMAKCNT9T","@type":"dxn:type:org.dxos.type.blueprint:0.1.0","@meta":{"keys":[]},"agentCanEnable":true,"description":"Work with markdown documents.","instructions":{"source":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNT9S"}},"key":"org.dxos.blueprint.markdown","name":"Markdown","tools":["org.dxos.function.markdown.create","org.dxos.function.markdown.read","org.dxos.function.markdown.update"]}],"rejected":[]},"providerExecuted":false,"options":{}}],"options":{}},{"role":"assistant","content":[{"type":"text","text":"The Markdown blueprint is enabled! Now let me create the \"Cookie Recipe\" document with a chocolate chip cookie recipe.","options":{}},{"type":"tool-call","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","name":"create-markdown-document","params":{"name":"Cookie Recipe","content":"# Chocolate Chip Cookies\n\nA classic, simple recipe for soft and chewy chocolate chip cookies.\n\n## Ingredients\n\n- 2¼ cups all-purpose flour\n- 1 tsp baking soda\n- 1 tsp salt\n- 1 cup (2 sticks) butter, softened\n- ¾ cup granulated sugar\n- ¾ cup packed brown sugar\n- 2 large eggs\n- 2 tsp vanilla extract\n- 2 cups chocolate chips\n\n## Instructions\n\n1. **Preheat** your oven to 375°F (190°C).\n2. **Mix dry ingredients:** In a bowl, whisk together the flour, baking soda, and salt. Set aside.\n3. **Cream butter and sugars:** In a large bowl, beat the softened butter, granulated sugar, and brown sugar until light and fluffy.\n4. **Add eggs and vanilla:** Beat in the eggs one at a time, then stir in the vanilla extract.\n5. **Combine:** Gradually mix the dry ingredients into the wet ingredients until just combined.\n6. **Fold in chocolate chips:** Stir in the chocolate chips with a spatula.\n7. **Scoop and bake:** Drop rounded tablespoons of dough onto ungreased baking sheets. Bake for 9–11 minutes, or until the edges are golden brown.\n8. **Cool:** Let the cookies cool on the baking sheet for 2 minutes, then transfer to a wire rack.\n\n## Tips\n\n- For chewier cookies, use more brown sugar than white sugar.\n- Chill the dough for 30 minutes before baking for thicker cookies.\n- Don't overbake — the cookies will firm up as they cool!\n\n**Yield:** ~5 dozen cookies | **Prep Time:** 15 min | **Bake Time:** 9–11 min\n\nEnjoy! 🍪"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01Muzh61Xcbs5qDcS95nGsuH","name":"create-markdown-document","isFailure":false,"result":{"document":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTA3","target":{"id":"01JGFJJZ00G0WKQSJGMAKCNTA3","@type":"dxn:type:org.dxos.type.document:0.1.0","@meta":{"keys":[]},"content":{"/":"dxn:echo:@:01JGFJJZ00G0WKQSJGMAKCNTA2"},"name":"Cookie Recipe"}}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012SwARiTPJVRPHzfqnNz8ov","modelId":"claude-opus-4-6","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Done","metadata":{}},{"type":"text-delta","id":"0","delta":"! ","metadata":{}},{"type":"text-delta","id":"0","delta":"✅","metadata":{}},{"type":"text-delta","id":"0","delta":" Here","metadata":{}},{"type":"text-delta","id":"0","delta":"'s what","metadata":{}},{"type":"text-delta","id":"0","delta":" I did","metadata":{}},{"type":"text-delta","id":"0","delta":":\n\n1. **Enabled the","metadata":{}},{"type":"text-delta","id":"0","delta":" Markdown blueprint** to","metadata":{}},{"type":"text-delta","id":"0","delta":" unlock","metadata":{}},{"type":"text-delta","id":"0","delta":" document","metadata":{}},{"type":"text-delta","id":"0","delta":" creation","metadata":{}},{"type":"text-delta","id":"0","delta":" tools","metadata":{}},{"type":"text-delta","id":"0","delta":".\n2. **Created the","metadata":{}},{"type":"text-delta","id":"0","delta":" \"Cookie Recipe\" document** with a","metadata":{}},{"type":"text-delta","id":"0","delta":" complete","metadata":{}},{"type":"text-delta","id":"0","delta":" chocolate chip cookie recipe.\n\nThe document","metadata":{}},{"type":"text-delta","id":"0","delta":" includes","metadata":{}},{"type":"text-delta","id":"0","delta":":\n- **","metadata":{}},{"type":"text-delta","id":"0","delta":"Ingredients** —","metadata":{}},{"type":"text-delta","id":"0","delta":" a","metadata":{}},{"type":"text-delta","id":"0","delta":" full","metadata":{}},{"type":"text-delta","id":"0","delta":" list","metadata":{}},{"type":"text-delta","id":"0","delta":" of everything","metadata":{}},{"type":"text-delta","id":"0","delta":" you","metadata":{}},{"type":"text-delta","id":"0","delta":"'ll","metadata":{}},{"type":"text-delta","id":"0","delta":" need\n- **Step","metadata":{}},{"type":"text-delta","id":"0","delta":"-by-step instructions** —","metadata":{}},{"type":"text-delta","id":"0","delta":" from","metadata":{}},{"type":"text-delta","id":"0","delta":" pre","metadata":{}},{"type":"text-delta","id":"0","delta":"heating the oven to cooling the","metadata":{}},{"type":"text-delta","id":"0","delta":" cookies\n- **","metadata":{}},{"type":"text-delta","id":"0","delta":"Helpful tips** — for","metadata":{}},{"type":"text-delta","id":"0","delta":" ch","metadata":{}},{"type":"text-delta","id":"0","delta":"ewier or","metadata":{}},{"type":"text-delta","id":"0","delta":" th","metadata":{}},{"type":"text-delta","id":"0","delta":"icker cookies","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nEnjoy b","metadata":{}},{"type":"text-delta","id":"0","delta":"aking! 🍪","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":3750,"outputTokens":120,"totalTokens":3870},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":3750,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2026 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { describe, expect, it } from '@effect/vitest';
|
|
6
|
+
import * as Effect from 'effect/Effect';
|
|
7
|
+
import * as Layer from 'effect/Layer';
|
|
8
|
+
|
|
9
|
+
import { AiContextService, AiConversationService } from '@dxos/assistant';
|
|
10
|
+
import { AssistantTestLayer } from '@dxos/assistant/testing';
|
|
11
|
+
import {
|
|
12
|
+
BlueprintManagerBlueprint,
|
|
13
|
+
BlueprintManagerHandlers,
|
|
14
|
+
DatabaseBlueprint,
|
|
15
|
+
EnableBlueprints,
|
|
16
|
+
MarkdownBlueprint,
|
|
17
|
+
MarkdownHandlers,
|
|
18
|
+
QueryBlueprints,
|
|
19
|
+
ResearchBlueprint,
|
|
20
|
+
} from '@dxos/assistant-toolkit';
|
|
21
|
+
import { addBlueprints } from '@dxos/assistant-toolkit/testing';
|
|
22
|
+
import { Blueprint } from '@dxos/blueprints';
|
|
23
|
+
import { Database, Query } from '@dxos/echo';
|
|
24
|
+
import { TestHelpers } from '@dxos/effect/testing';
|
|
25
|
+
import { FunctionInvocationService } from '@dxos/functions';
|
|
26
|
+
import { ObjectId } from '@dxos/keys';
|
|
27
|
+
import { Markdown } from '@dxos/plugin-markdown/types';
|
|
28
|
+
import { OperationHandlerSet } from '@dxos/operation';
|
|
29
|
+
|
|
30
|
+
ObjectId.dangerouslyDisableRandomness();
|
|
31
|
+
|
|
32
|
+
const TestLayer = AssistantTestLayer({
|
|
33
|
+
aiServicePreset: 'edge-remote',
|
|
34
|
+
operationHandlers: OperationHandlerSet.merge(BlueprintManagerHandlers, MarkdownHandlers),
|
|
35
|
+
types: [Blueprint.Blueprint, Markdown.Document],
|
|
36
|
+
blueprints: [
|
|
37
|
+
BlueprintManagerBlueprint.make(),
|
|
38
|
+
DatabaseBlueprint.make(),
|
|
39
|
+
MarkdownBlueprint.make(),
|
|
40
|
+
ResearchBlueprint.make(),
|
|
41
|
+
],
|
|
42
|
+
tracing: 'pretty',
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
const provideTestLayers = Effect.provide(AiConversationService.layerNewQueue().pipe(Layer.provideMerge(TestLayer)));
|
|
46
|
+
|
|
47
|
+
// TODO(dmaretskyi): Move this file to where blueprint is defined.
|
|
48
|
+
describe('Blueprint Manager (Composer integration)', () => {
|
|
49
|
+
it.effect(
|
|
50
|
+
'query-blueprints: lists blueprints from registry',
|
|
51
|
+
Effect.fnUntraced(
|
|
52
|
+
function* (_) {
|
|
53
|
+
yield* addBlueprints([BlueprintManagerBlueprint]);
|
|
54
|
+
const result = yield* FunctionInvocationService.invokeFunction(QueryBlueprints, {});
|
|
55
|
+
expect(result.length).toBeGreaterThanOrEqual(3);
|
|
56
|
+
},
|
|
57
|
+
provideTestLayers,
|
|
58
|
+
TestHelpers.provideTestContext,
|
|
59
|
+
),
|
|
60
|
+
{ timeout: 30_000 },
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
it.effect(
|
|
64
|
+
'enable-blueprints: enables allowed blueprints and binds to context',
|
|
65
|
+
Effect.fnUntraced(
|
|
66
|
+
function* (_) {
|
|
67
|
+
yield* addBlueprints([BlueprintManagerBlueprint]);
|
|
68
|
+
const { enabled, rejected } = yield* FunctionInvocationService.invokeFunction(EnableBlueprints, {
|
|
69
|
+
keys: ['org.dxos.blueprint.database', 'org.dxos.blueprint.markdown'],
|
|
70
|
+
});
|
|
71
|
+
expect(enabled).toHaveLength(2);
|
|
72
|
+
expect(rejected).toHaveLength(0);
|
|
73
|
+
|
|
74
|
+
const { binder } = yield* AiContextService;
|
|
75
|
+
const bound = binder.getBlueprints();
|
|
76
|
+
expect(bound.some((bp: Blueprint.Blueprint) => bp.key === 'org.dxos.blueprint.database')).toBe(true);
|
|
77
|
+
expect(bound.some((bp: Blueprint.Blueprint) => bp.key === 'org.dxos.blueprint.markdown')).toBe(true);
|
|
78
|
+
},
|
|
79
|
+
provideTestLayers,
|
|
80
|
+
TestHelpers.provideTestContext,
|
|
81
|
+
),
|
|
82
|
+
{ timeout: 30_000 },
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
it.effect(
|
|
86
|
+
'enable-blueprints: rejects blueprints without agentCanEnable',
|
|
87
|
+
Effect.fnUntraced(
|
|
88
|
+
function* (_) {
|
|
89
|
+
yield* addBlueprints([BlueprintManagerBlueprint]);
|
|
90
|
+
const { enabled, rejected } = yield* FunctionInvocationService.invokeFunction(EnableBlueprints, {
|
|
91
|
+
keys: ['org.dxos.blueprint.research'],
|
|
92
|
+
});
|
|
93
|
+
expect(enabled).toHaveLength(0);
|
|
94
|
+
expect(rejected).toHaveLength(1);
|
|
95
|
+
expect(rejected[0].key).toBe('org.dxos.blueprint.research');
|
|
96
|
+
},
|
|
97
|
+
provideTestLayers,
|
|
98
|
+
TestHelpers.provideTestContext,
|
|
99
|
+
),
|
|
100
|
+
{ timeout: 30_000 },
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
it.scoped(
|
|
104
|
+
'enable and use Markdown blueprint in one prompt',
|
|
105
|
+
Effect.fnUntraced(
|
|
106
|
+
function* (_) {
|
|
107
|
+
yield* addBlueprints([BlueprintManagerBlueprint]);
|
|
108
|
+
yield* AiConversationService.run({
|
|
109
|
+
prompt:
|
|
110
|
+
'Enable the Markdown blueprint and then create a markdown document called "Cookie Recipe" with a simple chocolate chip cookie recipe.',
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
const docs = yield* Database.runQuery(Query.type(Markdown.Document));
|
|
114
|
+
expect(docs.length).toBeGreaterThanOrEqual(1);
|
|
115
|
+
const recipe = docs.find((doc) => doc.name?.toLowerCase().includes('cookie'));
|
|
116
|
+
expect(recipe).toBeDefined();
|
|
117
|
+
},
|
|
118
|
+
provideTestLayers,
|
|
119
|
+
TestHelpers.provideTestContext,
|
|
120
|
+
),
|
|
121
|
+
{ timeout: 240_000 },
|
|
122
|
+
);
|
|
123
|
+
});
|