@dxos/assistant-toolkit 0.9.1-main.c7dcc2e112 → 0.10.0
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/neutral/{add-artifact-QEQP6T7Z.mjs → add-artifact-5JNUYLCA.mjs} +6 -6
- package/dist/lib/neutral/{add-artifact-QEQP6T7Z.mjs.map → add-artifact-5JNUYLCA.mjs.map} +1 -1
- package/dist/lib/neutral/{agent-BU6PB7J6.mjs → agent-BFAYIBJI.mjs} +8 -8
- package/dist/lib/neutral/agent-BFAYIBJI.mjs.map +7 -0
- package/dist/lib/neutral/{agent-rules-L3AHRSR4.mjs → agent-rules-KWCBKJ5W.mjs} +14 -14
- package/dist/lib/neutral/agent-rules-KWCBKJ5W.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ABOAU3NN.mjs → chunk-3KA66YBF.mjs} +30 -44
- package/dist/lib/neutral/chunk-3KA66YBF.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ZQDWSV26.mjs → chunk-6SGNFL6I.mjs} +3 -3
- package/dist/lib/neutral/{chunk-ZQDWSV26.mjs.map → chunk-6SGNFL6I.mjs.map} +4 -4
- package/dist/lib/neutral/{chunk-CUT6GB2W.mjs → chunk-BDTGFPM7.mjs} +9 -11
- package/dist/lib/neutral/chunk-BDTGFPM7.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-SYUTQPSB.mjs → chunk-EPQCDGIV.mjs} +5 -4
- package/dist/lib/neutral/chunk-EPQCDGIV.mjs.map +7 -0
- package/dist/lib/neutral/chunk-H4W22FFJ.mjs +232 -0
- package/dist/lib/neutral/chunk-H4W22FFJ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JBTXZQ5G.mjs +60 -0
- package/dist/lib/neutral/chunk-JBTXZQ5G.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ZA5WZL4H.mjs → chunk-JKOOA5OS.mjs} +8 -8
- package/dist/lib/neutral/chunk-JKOOA5OS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JTEBE7KA.mjs +66 -0
- package/dist/lib/neutral/chunk-JTEBE7KA.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-FQNZX2SH.mjs → chunk-KLFXJ2Z3.mjs} +2 -2
- package/dist/lib/neutral/{chunk-FQNZX2SH.mjs.map → chunk-KLFXJ2Z3.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-DLVIJSH6.mjs → chunk-LBA5UOLF.mjs} +3 -3
- package/dist/lib/neutral/{chunk-DLVIJSH6.mjs.map → chunk-LBA5UOLF.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-24L572PJ.mjs → chunk-LL3MOQUZ.mjs} +2 -2
- package/dist/lib/neutral/{chunk-24L572PJ.mjs.map → chunk-LL3MOQUZ.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-OK3P6URP.mjs → chunk-MFVIGJBW.mjs} +16 -16
- package/dist/lib/neutral/chunk-MFVIGJBW.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-KZDQGI3S.mjs → chunk-PBARVBNJ.mjs} +9 -10
- package/dist/lib/neutral/chunk-PBARVBNJ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-WTUY5UCA.mjs → chunk-VJ5QBYM5.mjs} +20 -21
- package/dist/lib/neutral/chunk-VJ5QBYM5.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-4LFE5PQ3.mjs → chunk-YQSQRSXG.mjs} +5 -5
- package/dist/lib/neutral/chunk-YQSQRSXG.mjs.map +7 -0
- package/dist/lib/neutral/chunk-Z2HFOZXK.mjs +191 -0
- package/dist/lib/neutral/chunk-Z2HFOZXK.mjs.map +7 -0
- package/dist/lib/neutral/{context-add-KWEKPGMI.mjs → context-add-DZTPB3FK.mjs} +7 -7
- package/dist/lib/neutral/context-add-DZTPB3FK.mjs.map +7 -0
- package/dist/lib/neutral/{context-remove-HIQFSVHW.mjs → context-remove-XSBOM4VJ.mjs} +7 -7
- package/dist/lib/neutral/context-remove-XSBOM4VJ.mjs.map +7 -0
- package/dist/lib/neutral/create-agent-5WTOFIEK.mjs +35 -0
- package/dist/lib/neutral/create-agent-5WTOFIEK.mjs.map +7 -0
- package/dist/lib/neutral/definitions-VRR5OGXI.mjs +17 -0
- package/dist/lib/neutral/delegate-task-UX64NK4M.mjs +13 -0
- package/dist/lib/neutral/{delete-QHGM7N23.mjs → delete-IU7HPU3K.mjs} +4 -4
- package/dist/lib/neutral/{delete-QHGM7N23.mjs.map → delete-IU7HPU3K.mjs.map} +1 -1
- package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs +47 -0
- package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs.map +7 -0
- package/dist/lib/neutral/{fetch-O6G46HJH.mjs → fetch-5LY25EBR.mjs} +3 -3
- package/dist/lib/neutral/{fetch-O6G46HJH.mjs.map → fetch-5LY25EBR.mjs.map} +3 -3
- package/dist/lib/neutral/{fetch-messages-4EVGVEQK.mjs → fetch-messages-CQMDI36G.mjs} +5 -5
- package/dist/lib/neutral/{fetch-messages-4EVGVEQK.mjs.map → fetch-messages-CQMDI36G.mjs.map} +4 -4
- package/dist/lib/neutral/get-context-Q4YY6DRV.mjs +77 -0
- package/dist/lib/neutral/get-context-Q4YY6DRV.mjs.map +7 -0
- package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs +17 -0
- package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +403 -638
- package/dist/lib/neutral/index.mjs.map +4 -4
- package/dist/lib/neutral/{load-C4OPO7RD.mjs → load-S6HC5TGX.mjs} +3 -3
- package/dist/lib/neutral/{load-C4OPO7RD.mjs.map → load-S6HC5TGX.mjs.map} +1 -1
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/{object-create-F7R7IRW5.mjs → object-create-PVDQ62CG.mjs} +4 -4
- package/dist/lib/neutral/{object-create-F7R7IRW5.mjs.map → object-create-PVDQ62CG.mjs.map} +1 -1
- package/dist/lib/neutral/{object-delete-3TJ3XMLN.mjs → object-delete-3CSL6XI6.mjs} +3 -3
- package/dist/lib/neutral/{object-delete-3TJ3XMLN.mjs.map → object-delete-3CSL6XI6.mjs.map} +1 -1
- package/dist/lib/neutral/{object-update-EBRM5AKN.mjs → object-update-NIGMZINM.mjs} +3 -3
- package/dist/lib/neutral/{object-update-EBRM5AKN.mjs.map → object-update-NIGMZINM.mjs.map} +1 -1
- package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs +88 -0
- package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs.map +7 -0
- package/dist/lib/neutral/{qualifier-DHPHY3YH.mjs → qualifier-5CIRZYX5.mjs} +13 -11
- package/dist/lib/neutral/qualifier-5CIRZYX5.mjs.map +7 -0
- package/dist/lib/neutral/{query-6XCQIIZC.mjs → query-K4R7UHLU.mjs} +4 -4
- package/dist/lib/neutral/{query-6XCQIIZC.mjs.map → query-K4R7UHLU.mjs.map} +1 -1
- package/dist/lib/neutral/{query-QGSHZMCD.mjs → query-NCTCRYTD.mjs} +4 -4
- package/dist/lib/neutral/{query-QGSHZMCD.mjs.map → query-NCTCRYTD.mjs.map} +4 -4
- package/dist/lib/neutral/query-skills-7GQFSU4V.mjs +17 -0
- package/dist/lib/neutral/query-skills-7GQFSU4V.mjs.map +7 -0
- package/dist/lib/neutral/{relation-create-WA2DM76W.mjs → relation-create-QKXHTL7G.mjs} +10 -7
- package/dist/lib/neutral/relation-create-QKXHTL7G.mjs.map +7 -0
- package/dist/lib/neutral/{relation-delete-66XP7KL7.mjs → relation-delete-PDIWT2JX.mjs} +3 -3
- package/dist/lib/neutral/{relation-delete-66XP7KL7.mjs.map → relation-delete-PDIWT2JX.mjs.map} +1 -1
- package/dist/lib/neutral/{prompt-37GJGKNM.mjs → run-instructions-72ASH5EZ.mjs} +38 -40
- package/dist/lib/neutral/run-instructions-72ASH5EZ.mjs.map +7 -0
- package/dist/lib/neutral/{save-HQY35ACW.mjs → save-UYVRA4RS.mjs} +4 -4
- package/dist/lib/neutral/{save-HQY35ACW.mjs.map → save-UYVRA4RS.mjs.map} +1 -1
- package/dist/lib/neutral/{schema-add-2AWYVGOC.mjs → schema-add-5NOK2RWE.mjs} +3 -3
- package/dist/lib/neutral/{schema-add-2AWYVGOC.mjs.map → schema-add-5NOK2RWE.mjs.map} +1 -1
- package/dist/lib/neutral/{schema-list-74CQW2N3.mjs → schema-list-BZUR5KMX.mjs} +6 -6
- package/dist/lib/neutral/schema-list-BZUR5KMX.mjs.map +7 -0
- package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs +65 -0
- package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs.map +7 -0
- package/dist/lib/neutral/{sync-issues-VUX4OWPO.mjs → sync-issues-O76MCMD3.mjs} +5 -5
- package/dist/lib/neutral/{sync-issues-VUX4OWPO.mjs.map → sync-issues-O76MCMD3.mjs.map} +1 -1
- package/dist/lib/neutral/{sync-triggers-CI6ECSZX.mjs → sync-triggers-YBTLPCUB.mjs} +11 -11
- package/dist/lib/neutral/{sync-triggers-CI6ECSZX.mjs.map → sync-triggers-YBTLPCUB.mjs.map} +4 -4
- package/dist/lib/neutral/{tag-add-6EGIY2CC.mjs → tag-add-L5WNOBYY.mjs} +3 -3
- package/dist/lib/neutral/{tag-add-6EGIY2CC.mjs.map → tag-add-L5WNOBYY.mjs.map} +1 -1
- package/dist/lib/neutral/{tag-remove-XVTYJRI7.mjs → tag-remove-WV5RPE5W.mjs} +3 -3
- package/dist/lib/neutral/{tag-remove-XVTYJRI7.mjs.map → tag-remove-WV5RPE5W.mjs.map} +1 -1
- package/dist/lib/neutral/testing/index.mjs +10 -8
- package/dist/lib/neutral/testing/index.mjs.map +4 -4
- package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs +46 -0
- package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs.map +7 -0
- package/dist/types/src/errors.d.ts +36 -0
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/operations/definitions.d.ts +13 -0
- package/dist/types/src/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/{functions/agent/prompt.d.ts → operations/run-instructions.d.ts} +1 -1
- package/dist/types/src/operations/run-instructions.d.ts.map +1 -0
- package/dist/types/src/operations/run-instructions.test.d.ts +2 -0
- package/dist/types/src/operations/run-instructions.test.d.ts.map +1 -0
- package/dist/types/src/operations/skill-resolution.test.d.ts +2 -0
- package/dist/types/src/operations/skill-resolution.test.d.ts.map +1 -0
- package/dist/types/src/skills/agent/index.d.ts +3 -0
- package/dist/types/src/skills/agent/index.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/add-artifact.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/agent.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/definitions.d.ts +76 -0
- package/dist/types/src/skills/agent/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/get-context.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/index.d.ts +4 -0
- package/dist/types/src/skills/agent/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/agent/operations/qualifier.d.ts.map +1 -0
- package/dist/types/src/skills/agent/skill.d.ts +4 -0
- package/dist/types/src/skills/agent/skill.d.ts.map +1 -0
- package/dist/types/src/skills/agent/skill.test.d.ts +2 -0
- package/dist/types/src/skills/agent/skill.test.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/index.d.ts +3 -0
- package/dist/types/src/skills/agent-wizard/index.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/operations/agent-rules.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/operations/create-agent.d.ts +11 -0
- package/dist/types/src/skills/agent-wizard/operations/create-agent.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts +14 -0
- package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts +8 -0
- package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts.map +1 -0
- package/dist/types/src/skills/agent-wizard/skill.d.ts +4 -0
- package/dist/types/src/skills/agent-wizard/skill.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/index.d.ts +3 -0
- package/dist/types/src/skills/alarm/index.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/operations/definitions.d.ts +9 -0
- package/dist/types/src/skills/alarm/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/operations/get-current-date.d.ts +8 -0
- package/dist/types/src/skills/alarm/operations/get-current-date.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/operations/index.d.ts +4 -0
- package/dist/types/src/skills/alarm/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/operations/resolve-wake-at.d.ts +14 -0
- package/dist/types/src/skills/alarm/operations/resolve-wake-at.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/operations/set-alarm.d.ts +13 -0
- package/dist/types/src/skills/alarm/operations/set-alarm.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/skill.d.ts +4 -0
- package/dist/types/src/skills/alarm/skill.d.ts.map +1 -0
- package/dist/types/src/skills/alarm/skill.test.d.ts +2 -0
- package/dist/types/src/skills/alarm/skill.test.d.ts.map +1 -0
- package/dist/types/src/skills/automation/index.d.ts +2 -0
- package/dist/types/src/skills/automation/index.d.ts.map +1 -0
- package/dist/types/src/skills/automation/skill.d.ts +4 -0
- package/dist/types/src/skills/automation/skill.d.ts.map +1 -0
- package/dist/types/src/skills/browser/index.d.ts +2 -0
- package/dist/types/src/skills/browser/index.d.ts.map +1 -0
- package/dist/types/src/skills/browser/skill.d.ts +4 -0
- package/dist/types/src/skills/browser/skill.d.ts.map +1 -0
- package/dist/types/src/skills/browser/skill.test.d.ts +2 -0
- package/dist/types/src/skills/browser/skill.test.d.ts.map +1 -0
- package/dist/types/src/skills/connectors/index.d.ts +2 -0
- package/dist/types/src/skills/connectors/index.d.ts.map +1 -0
- package/dist/types/src/skills/connectors/skill.d.ts +4 -0
- package/dist/types/src/skills/connectors/skill.d.ts.map +1 -0
- package/dist/types/src/skills/database/index.d.ts +3 -0
- package/dist/types/src/skills/database/index.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/database/operations/context-add.d.ts +2 -2
- package/dist/types/src/skills/database/operations/context-add.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/database/operations/context-remove.d.ts +2 -2
- package/dist/types/src/skills/database/operations/context-remove.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/database/operations/definitions.d.ts +6 -12
- package/dist/types/src/skills/database/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/load.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/object-create.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/object-delete.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/object-update.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/query.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/relation-create.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/relation-delete.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/schema-add.d.ts.map +1 -0
- package/dist/types/src/skills/database/operations/schema-list.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/database/operations/tag-add.d.ts +1 -4
- package/dist/types/src/skills/database/operations/tag-add.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/database/operations/tag-remove.d.ts +1 -4
- package/dist/types/src/skills/database/operations/tag-remove.d.ts.map +1 -0
- package/dist/types/src/skills/database/skill.d.ts +4 -0
- package/dist/types/src/skills/database/skill.d.ts.map +1 -0
- package/dist/types/src/skills/database/skill.test.d.ts +2 -0
- package/dist/types/src/skills/database/skill.test.d.ts.map +1 -0
- package/dist/types/src/skills/delegation/index.d.ts +3 -0
- package/dist/types/src/skills/delegation/index.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/delegation/operations/delegate-task.d.ts +4 -4
- package/dist/types/src/skills/delegation/operations/delegate-task.d.ts.map +1 -0
- package/dist/types/src/skills/delegation/operations/delegate-task.test.d.ts.map +1 -0
- package/dist/types/src/skills/delegation/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/delegation/skill.d.ts +4 -0
- package/dist/types/src/skills/delegation/skill.d.ts.map +1 -0
- package/dist/types/src/skills/discord/index.d.ts +3 -0
- package/dist/types/src/skills/discord/index.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/discord/operations/definitions.d.ts +1 -1
- package/dist/types/src/skills/discord/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/discord/operations/fetch-messages.d.ts +1 -1
- package/dist/types/src/skills/discord/operations/fetch-messages.d.ts.map +1 -0
- package/dist/types/src/skills/discord/operations/fetch-messages.test.d.ts.map +1 -0
- package/dist/types/src/skills/discord/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/discord/skill.d.ts +4 -0
- package/dist/types/src/skills/discord/skill.d.ts.map +1 -0
- package/dist/types/src/skills/github/index.d.ts.map +1 -0
- package/dist/types/src/skills/github/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/github/operations/fetch-prs.d.ts.map +1 -0
- package/dist/types/src/skills/github/operations/index.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/index.d.ts +3 -1
- package/dist/types/src/skills/index.d.ts.map +1 -0
- package/dist/types/src/skills/linear/index.d.ts +3 -0
- package/dist/types/src/skills/linear/index.d.ts.map +1 -0
- package/dist/types/src/skills/linear/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/linear/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/linear/operations/linear.test.d.ts.map +1 -0
- package/dist/types/src/skills/linear/operations/sync-issues.d.ts.map +1 -0
- package/dist/types/src/skills/linear/skill.d.ts +4 -0
- package/dist/types/src/skills/linear/skill.d.ts.map +1 -0
- package/dist/types/src/skills/memory/index.d.ts +3 -0
- package/dist/types/src/skills/memory/index.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/memory/operations/definitions.d.ts +2 -4
- package/dist/types/src/skills/memory/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/memory/operations/delete.d.ts +7 -0
- package/dist/types/src/skills/memory/operations/delete.d.ts.map +1 -0
- package/dist/types/src/skills/memory/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/memory/operations/query.d.ts.map +1 -0
- package/dist/types/src/skills/memory/operations/save.d.ts.map +1 -0
- package/dist/types/src/skills/memory/skill.d.ts +4 -0
- package/dist/types/src/skills/memory/skill.d.ts.map +1 -0
- package/dist/types/src/skills/memory/skill.test.d.ts +2 -0
- package/dist/types/src/skills/memory/skill.test.d.ts.map +1 -0
- package/dist/types/src/skills/planning/index.d.ts +3 -0
- package/dist/types/src/skills/planning/index.d.ts.map +1 -0
- package/dist/types/src/skills/planning/operations/definitions.d.ts +14 -0
- package/dist/types/src/skills/planning/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/planning/operations/index.d.ts +1 -1
- package/dist/types/src/skills/planning/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/planning/operations/plan-reminder.d.ts +15 -0
- package/dist/types/src/skills/planning/operations/plan-reminder.d.ts.map +1 -0
- package/dist/types/src/skills/planning/operations/update-tasks.d.ts +7 -0
- package/dist/types/src/skills/planning/operations/update-tasks.d.ts.map +1 -0
- package/dist/types/src/skills/planning/operations/update-tasks.test.d.ts.map +1 -0
- package/dist/types/src/skills/planning/skill.d.ts +4 -0
- package/dist/types/src/skills/planning/skill.d.ts.map +1 -0
- package/dist/types/src/skills/planning/skill.test.d.ts +2 -0
- package/dist/types/src/skills/planning/skill.test.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/index.d.ts +3 -0
- package/dist/types/src/skills/skill-manager/index.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/operations/definitions.d.ts +14 -0
- package/dist/types/src/skills/skill-manager/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/operations/enable-skills.d.ts +13 -0
- package/dist/types/src/skills/skill-manager/operations/enable-skills.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/operations/index.d.ts +4 -0
- package/dist/types/src/skills/skill-manager/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/operations/query-skills.d.ts +5 -0
- package/dist/types/src/skills/skill-manager/operations/query-skills.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/skill.d.ts +4 -0
- package/dist/types/src/skills/skill-manager/skill.d.ts.map +1 -0
- package/dist/types/src/skills/skill-manager/skill.test.d.ts +2 -0
- package/dist/types/src/skills/skill-manager/skill.test.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/testing.d.ts +4 -4
- package/dist/types/src/skills/testing.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/websearch/index.d.ts +1 -1
- package/dist/types/src/skills/websearch/index.d.ts.map +1 -0
- package/dist/types/src/skills/websearch/operations/definitions.d.ts.map +1 -0
- package/dist/types/src/skills/websearch/operations/fetch.d.ts.map +1 -0
- package/dist/types/src/skills/websearch/operations/index.d.ts.map +1 -0
- package/dist/types/src/skills/websearch/skill.d.ts +4 -0
- package/dist/types/src/skills/websearch/skill.d.ts.map +1 -0
- package/dist/types/src/skills/websearch/skill.test.d.ts +2 -0
- package/dist/types/src/skills/websearch/skill.test.d.ts.map +1 -0
- package/dist/types/src/{blueprints → skills}/websearch/toolkit.d.ts +6 -4
- package/dist/types/src/skills/websearch/toolkit.d.ts.map +1 -0
- package/dist/types/src/supervisor/delegation-strategy.d.ts +1 -1
- package/dist/types/src/supervisor/delegation-strategy.d.ts.map +1 -1
- package/dist/types/src/supervisor/index.d.ts +0 -1
- package/dist/types/src/supervisor/index.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/plugins.d.ts +2 -3
- package/dist/types/src/testing/plugins.d.ts.map +1 -1
- package/dist/types/src/types/Agent.d.ts +24 -54
- package/dist/types/src/types/Agent.d.ts.map +1 -1
- package/dist/types/src/types/Chat.d.ts +34 -44
- package/dist/types/src/types/Chat.d.ts.map +1 -1
- package/dist/types/src/types/McpServer.d.ts +10 -9
- package/dist/types/src/types/McpServer.d.ts.map +1 -1
- package/dist/types/src/types/Memory.d.ts +7 -6
- package/dist/types/src/types/Memory.d.ts.map +1 -1
- package/dist/types/src/types/Plan.d.ts +15 -38
- package/dist/types/src/types/Plan.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +34 -34
- package/src/errors.ts +12 -0
- package/src/index.ts +2 -4
- package/src/{functions/agent → operations}/definitions.ts +16 -18
- package/src/{functions/agent → operations}/index.ts +1 -1
- package/src/operations/run-instructions.conversations.json +1 -0
- package/src/operations/run-instructions.test.ts +118 -0
- package/src/{functions/agent/prompt.ts → operations/run-instructions.ts} +34 -24
- package/src/{functions/agent/blueprint-resolution.test.ts → operations/skill-resolution.test.ts} +39 -39
- package/src/skills/AGENTS.md +13 -0
- package/src/skills/agent/index.ts +6 -0
- package/src/{blueprints → skills}/agent/operations/agent.ts +3 -3
- package/src/{blueprints → skills}/agent/operations/definitions.ts +6 -7
- package/src/skills/agent/operations/get-context.ts +87 -0
- package/src/{blueprints → skills}/agent/operations/index.ts +2 -2
- package/src/{blueprints → skills}/agent/operations/qualifier.ts +10 -4
- package/src/skills/agent/skill.conversations.json +1 -0
- package/src/{blueprints/agent/blueprint.test.ts → skills/agent/skill.test.ts} +41 -32
- package/src/{blueprints/agent/blueprint.ts → skills/agent/skill.ts} +10 -10
- package/src/{blueprints → skills}/agent-wizard/index.ts +1 -1
- package/src/{blueprints → skills}/agent-wizard/operations/agent-rules.ts +8 -8
- package/src/{blueprints → skills}/agent-wizard/operations/create-agent.ts +5 -7
- package/src/{blueprints → skills}/agent-wizard/operations/definitions.ts +5 -5
- package/src/{blueprints → skills}/agent-wizard/operations/sync-triggers.ts +4 -4
- package/src/{blueprints/agent-wizard/blueprint.ts → skills/agent-wizard/skill.ts} +11 -11
- package/src/skills/alarm/index.ts +6 -0
- package/src/skills/alarm/operations/definitions.ts +54 -0
- package/src/skills/alarm/operations/get-current-date.ts +23 -0
- package/src/skills/alarm/operations/index.ts +12 -0
- package/src/skills/alarm/operations/resolve-wake-at.ts +46 -0
- package/src/skills/alarm/operations/set-alarm.ts +33 -0
- package/src/skills/alarm/skill.test.ts +128 -0
- package/src/skills/alarm/skill.ts +37 -0
- package/src/skills/automation/index.ts +5 -0
- package/src/{blueprints/automation/blueprint.ts → skills/automation/skill.ts} +8 -8
- package/src/skills/browser/index.ts +5 -0
- package/src/{blueprints/browser/blueprint.test.ts → skills/browser/skill.test.ts} +7 -7
- package/src/{blueprints/browser/blueprint.ts → skills/browser/skill.ts} +7 -7
- package/src/skills/connectors/index.ts +5 -0
- package/src/skills/connectors/skill.ts +47 -0
- package/src/{blueprints → skills}/database/index.ts +1 -1
- package/src/{blueprints → skills}/database/operations/context-add.ts +4 -4
- package/src/{blueprints → skills}/database/operations/context-remove.ts +5 -5
- package/src/{blueprints → skills}/database/operations/definitions.ts +3 -3
- package/src/{blueprints → skills}/database/operations/query.ts +1 -1
- package/src/{blueprints → skills}/database/operations/relation-create.ts +9 -1
- package/src/{blueprints → skills}/database/operations/schema-list.ts +2 -2
- package/src/skills/database/skill.conversations.json +1 -0
- package/src/{blueprints/database/blueprint.test.ts → skills/database/skill.test.ts} +22 -22
- package/src/{blueprints/database/blueprint.ts → skills/database/skill.ts} +14 -14
- package/src/{blueprints → skills}/delegation/index.ts +1 -1
- package/src/{blueprints → skills}/delegation/operations/delegate-task.test.ts +13 -10
- package/src/{blueprints → skills}/delegation/operations/delegate-task.ts +6 -6
- package/src/skills/delegation/skill.ts +24 -0
- package/src/{blueprints → skills}/discord/index.ts +1 -1
- package/src/{blueprints → skills}/discord/operations/definitions.ts +1 -1
- package/src/{blueprints → skills}/discord/operations/fetch-messages.ts +1 -1
- package/src/{blueprints/discord/blueprint.ts → skills/discord/skill.ts} +8 -8
- package/src/{blueprints → skills}/index.ts +3 -1
- package/src/{blueprints → skills}/linear/index.ts +1 -1
- package/src/{blueprints/linear/blueprint.ts → skills/linear/skill.ts} +8 -8
- package/src/{blueprints → skills}/memory/index.ts +1 -1
- package/src/skills/memory/skill.conversations.json +1 -0
- package/src/{blueprints/memory/blueprint.test.ts → skills/memory/skill.test.ts} +11 -11
- package/src/{blueprints/memory/blueprint.ts → skills/memory/skill.ts} +9 -9
- package/src/{blueprints → skills}/planning/index.ts +1 -1
- package/src/skills/planning/operations/definitions.ts +44 -0
- package/src/skills/planning/operations/index.ts +12 -0
- package/src/skills/planning/operations/plan-reminder.ts +98 -0
- package/src/skills/planning/operations/update-tasks.test.ts +79 -0
- package/src/skills/planning/operations/update-tasks.ts +51 -0
- package/src/skills/planning/skill.conversations.json +1 -0
- package/src/skills/planning/skill.test.ts +123 -0
- package/src/skills/planning/skill.ts +34 -0
- package/src/skills/skill-manager/index.ts +6 -0
- package/src/skills/skill-manager/operations/definitions.ts +48 -0
- package/src/skills/skill-manager/operations/enable-skills.ts +46 -0
- package/src/skills/skill-manager/operations/index.ts +12 -0
- package/src/skills/skill-manager/operations/query-skills.ts +19 -0
- package/src/skills/skill-manager/skill.test.ts +174 -0
- package/src/skills/skill-manager/skill.ts +49 -0
- package/src/{blueprints → skills}/testing.ts +12 -13
- package/src/{blueprints → skills}/websearch/index.ts +1 -1
- package/src/{blueprints → skills}/websearch/operations/fetch.ts +1 -0
- package/src/{blueprints/websearch/blueprint.test.ts → skills/websearch/skill.test.ts} +4 -4
- package/src/skills/websearch/skill.ts +31 -0
- package/src/{blueprints → skills}/websearch/toolkit.ts +2 -3
- package/src/supervisor/delegation-strategy.ts +47 -24
- package/src/supervisor/index.ts +0 -1
- package/src/testing/index.ts +1 -1
- package/src/testing/plugins.tsx +2 -1
- package/src/types/Agent.test.ts +3 -3
- package/src/types/Agent.ts +121 -113
- package/src/types/Chat.ts +79 -31
- package/src/types/McpServer.ts +10 -11
- package/src/types/Memory.ts +11 -12
- package/src/types/Plan.ts +15 -13
- package/dist/lib/neutral/agent-BU6PB7J6.mjs.map +0 -7
- package/dist/lib/neutral/agent-rules-L3AHRSR4.mjs.map +0 -7
- package/dist/lib/neutral/chunk-4LFE5PQ3.mjs.map +0 -7
- package/dist/lib/neutral/chunk-5HANNHZZ.mjs +0 -316
- package/dist/lib/neutral/chunk-5HANNHZZ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ABOAU3NN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-CUT6GB2W.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JZHXJBSM.mjs +0 -48
- package/dist/lib/neutral/chunk-JZHXJBSM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-KZDQGI3S.mjs.map +0 -7
- package/dist/lib/neutral/chunk-NSAUN2IX.mjs +0 -66
- package/dist/lib/neutral/chunk-NSAUN2IX.mjs.map +0 -7
- package/dist/lib/neutral/chunk-OK3P6URP.mjs.map +0 -7
- package/dist/lib/neutral/chunk-SYUTQPSB.mjs.map +0 -7
- package/dist/lib/neutral/chunk-WTUY5UCA.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ZA5WZL4H.mjs.map +0 -7
- package/dist/lib/neutral/context-add-KWEKPGMI.mjs.map +0 -7
- package/dist/lib/neutral/context-remove-HIQFSVHW.mjs.map +0 -7
- package/dist/lib/neutral/create-agent-7PBQFYHF.mjs +0 -35
- package/dist/lib/neutral/create-agent-7PBQFYHF.mjs.map +0 -7
- package/dist/lib/neutral/definitions-BHRGH45G.mjs +0 -17
- package/dist/lib/neutral/delegate-task-IQJSRLN3.mjs +0 -13
- package/dist/lib/neutral/enable-blueprints-OGYSQ7HD.mjs +0 -47
- package/dist/lib/neutral/enable-blueprints-OGYSQ7HD.mjs.map +0 -7
- package/dist/lib/neutral/get-context-6SZ7HOV4.mjs +0 -49
- package/dist/lib/neutral/get-context-6SZ7HOV4.mjs.map +0 -7
- package/dist/lib/neutral/prompt-37GJGKNM.mjs.map +0 -7
- package/dist/lib/neutral/qualifier-DHPHY3YH.mjs.map +0 -7
- package/dist/lib/neutral/query-blueprints-7NDHHM7U.mjs +0 -17
- package/dist/lib/neutral/query-blueprints-7NDHHM7U.mjs.map +0 -7
- package/dist/lib/neutral/relation-create-WA2DM76W.mjs.map +0 -7
- package/dist/lib/neutral/schema-list-74CQW2N3.mjs.map +0 -7
- package/dist/lib/neutral/update-tasks-R5YXESZ6.mjs +0 -13
- package/dist/lib/neutral/update-tasks-R5YXESZ6.mjs.map +0 -7
- package/dist/types/src/blueprints/agent/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/agent/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/agent/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/index.d.ts +0 -3
- package/dist/types/src/blueprints/agent/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/operations/add-artifact.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/operations/agent.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/operations/definitions.d.ts +0 -177
- package/dist/types/src/blueprints/agent/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/operations/get-context.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/operations/index.d.ts +0 -4
- package/dist/types/src/blueprints/agent/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent/operations/qualifier.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent-wizard/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/agent-wizard/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent-wizard/index.d.ts +0 -3
- package/dist/types/src/blueprints/agent-wizard/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent-wizard/operations/agent-rules.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent-wizard/operations/create-agent.d.ts +0 -57
- package/dist/types/src/blueprints/agent-wizard/operations/create-agent.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent-wizard/operations/definitions.d.ts +0 -107
- package/dist/types/src/blueprints/agent-wizard/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent-wizard/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/agent-wizard/operations/sync-triggers.d.ts +0 -54
- package/dist/types/src/blueprints/agent-wizard/operations/sync-triggers.d.ts.map +0 -1
- package/dist/types/src/blueprints/automation/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/automation/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/automation/index.d.ts +0 -2
- package/dist/types/src/blueprints/automation/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/blueprint-manager/index.d.ts +0 -3
- package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/blueprint-manager/operations/definitions.d.ts +0 -60
- package/dist/types/src/blueprints/blueprint-manager/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/blueprint-manager/operations/enable-blueprints.d.ts +0 -36
- package/dist/types/src/blueprints/blueprint-manager/operations/enable-blueprints.d.ts.map +0 -1
- package/dist/types/src/blueprints/blueprint-manager/operations/index.d.ts +0 -4
- package/dist/types/src/blueprints/blueprint-manager/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/blueprint-manager/operations/query-blueprints.d.ts +0 -28
- package/dist/types/src/blueprints/blueprint-manager/operations/query-blueprints.d.ts.map +0 -1
- package/dist/types/src/blueprints/browser/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/browser/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/browser/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/browser/index.d.ts +0 -2
- package/dist/types/src/blueprints/browser/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/database/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/index.d.ts +0 -3
- package/dist/types/src/blueprints/database/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/context-add.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/context-remove.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/load.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/object-create.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/object-delete.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/object-update.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/query.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/relation-create.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/relation-delete.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/schema-add.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/schema-list.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/tag-add.d.ts.map +0 -1
- package/dist/types/src/blueprints/database/operations/tag-remove.d.ts.map +0 -1
- package/dist/types/src/blueprints/delegation/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/delegation/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/delegation/index.d.ts +0 -3
- package/dist/types/src/blueprints/delegation/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/delegation/operations/delegate-task.d.ts.map +0 -1
- package/dist/types/src/blueprints/delegation/operations/delegate-task.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/delegation/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/discord/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/discord/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/discord/index.d.ts +0 -3
- package/dist/types/src/blueprints/discord/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/discord/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/discord/operations/fetch-messages.d.ts.map +0 -1
- package/dist/types/src/blueprints/discord/operations/fetch-messages.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/discord/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/github/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/github/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/github/operations/fetch-prs.d.ts.map +0 -1
- package/dist/types/src/blueprints/github/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/linear/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/index.d.ts +0 -3
- package/dist/types/src/blueprints/linear/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/operations/linear.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/operations/sync-issues.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/memory/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/index.d.ts +0 -3
- package/dist/types/src/blueprints/memory/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/operations/delete.d.ts +0 -10
- package/dist/types/src/blueprints/memory/operations/delete.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/operations/query.d.ts.map +0 -1
- package/dist/types/src/blueprints/memory/operations/save.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/planning/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/index.d.ts +0 -3
- package/dist/types/src/blueprints/planning/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/operations/update-tasks.d.ts +0 -24
- package/dist/types/src/blueprints/planning/operations/update-tasks.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/operations/update-tasks.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/testing.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/operations/fetch.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/operations/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +0 -1
- package/dist/types/src/crud/graph.d.ts +0 -64
- package/dist/types/src/crud/graph.d.ts.map +0 -1
- package/dist/types/src/crud/graph.test.d.ts +0 -2
- package/dist/types/src/crud/graph.test.d.ts.map +0 -1
- package/dist/types/src/crud/index.d.ts +0 -2
- package/dist/types/src/crud/index.d.ts.map +0 -1
- package/dist/types/src/functions/agent/blueprint-resolution.test.d.ts +0 -2
- package/dist/types/src/functions/agent/blueprint-resolution.test.d.ts.map +0 -1
- package/dist/types/src/functions/agent/definitions.d.ts +0 -53
- package/dist/types/src/functions/agent/definitions.d.ts.map +0 -1
- package/dist/types/src/functions/agent/index.d.ts.map +0 -1
- package/dist/types/src/functions/agent/prompt.d.ts.map +0 -1
- package/dist/types/src/functions/agent/prompt.test.d.ts +0 -2
- package/dist/types/src/functions/agent/prompt.test.d.ts.map +0 -1
- package/dist/types/src/functions/index.d.ts +0 -2
- package/dist/types/src/functions/index.d.ts.map +0 -1
- package/dist/types/src/supervisor/plan-completion-guard.d.ts +0 -6
- package/dist/types/src/supervisor/plan-completion-guard.d.ts.map +0 -1
- package/dist/types/src/toolkits/WebToolkit.d.ts +0 -38
- package/dist/types/src/toolkits/WebToolkit.d.ts.map +0 -1
- package/dist/types/src/toolkits/index.d.ts +0 -2
- package/dist/types/src/toolkits/index.d.ts.map +0 -1
- package/src/blueprints/AGENTS.md +0 -13
- package/src/blueprints/agent/blueprint.conversations.json +0 -1
- package/src/blueprints/agent/index.ts +0 -6
- package/src/blueprints/agent/operations/get-context.ts +0 -58
- package/src/blueprints/automation/index.ts +0 -5
- package/src/blueprints/blueprint-manager/blueprint.test.ts +0 -156
- package/src/blueprints/blueprint-manager/blueprint.ts +0 -49
- package/src/blueprints/blueprint-manager/index.ts +0 -6
- package/src/blueprints/blueprint-manager/operations/definitions.ts +0 -48
- package/src/blueprints/blueprint-manager/operations/enable-blueprints.ts +0 -46
- package/src/blueprints/blueprint-manager/operations/index.ts +0 -12
- package/src/blueprints/blueprint-manager/operations/query-blueprints.ts +0 -19
- package/src/blueprints/browser/index.ts +0 -5
- package/src/blueprints/database/blueprint.conversations.json +0 -1
- package/src/blueprints/delegation/blueprint.ts +0 -24
- package/src/blueprints/memory/blueprint.conversations.json +0 -1
- package/src/blueprints/planning/blueprint.ts +0 -24
- package/src/blueprints/planning/operations/index.ts +0 -9
- package/src/blueprints/planning/operations/update-tasks.test.ts +0 -55
- package/src/blueprints/planning/operations/update-tasks.ts +0 -72
- package/src/blueprints/websearch/blueprint.ts +0 -30
- package/src/crud/graph.test.ts +0 -44
- package/src/crud/graph.ts +0 -364
- package/src/crud/index.ts +0 -5
- package/src/functions/READ_THIS.md +0 -5
- package/src/functions/agent/prompt.conversations.json +0 -1
- package/src/functions/agent/prompt.test.ts +0 -78
- package/src/functions/index.ts +0 -5
- package/src/supervisor/plan-completion-guard.ts +0 -50
- package/src/toolkits/WebToolkit.ts +0 -44
- package/src/toolkits/index.ts +0 -5
- /package/dist/lib/neutral/{definitions-BHRGH45G.mjs.map → definitions-VRR5OGXI.mjs.map} +0 -0
- /package/dist/lib/neutral/{delegate-task-IQJSRLN3.mjs.map → delegate-task-UX64NK4M.mjs.map} +0 -0
- /package/dist/types/src/{functions/agent → operations}/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/agent/operations/add-artifact.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/agent/operations/agent.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/agent/operations/get-context.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/agent/operations/qualifier.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/agent-wizard/operations/agent-rules.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/agent-wizard/operations/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/load.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/object-create.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/object-delete.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/object-update.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/query.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/relation-create.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/relation-delete.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/schema-add.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/database/operations/schema-list.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/delegation/operations/delegate-task.test.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/delegation/operations/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/discord/operations/fetch-messages.test.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/discord/operations/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/github/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/github/operations/definitions.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/github/operations/fetch-prs.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/github/operations/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/linear/operations/definitions.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/linear/operations/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/linear/operations/linear.test.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/linear/operations/sync-issues.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/memory/operations/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/memory/operations/query.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/memory/operations/save.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/planning/operations/update-tasks.test.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/websearch/operations/definitions.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/websearch/operations/fetch.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/websearch/operations/index.d.ts +0 -0
- /package/src/{blueprints → skills}/agent/operations/add-artifact.ts +0 -0
- /package/src/{blueprints → skills}/agent-wizard/operations/index.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/index.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/load.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/object-create.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/object-delete.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/object-update.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/relation-delete.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/schema-add.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/tag-add.ts +0 -0
- /package/src/{blueprints → skills}/database/operations/tag-remove.ts +0 -0
- /package/src/{blueprints → skills}/delegation/operations/index.ts +0 -0
- /package/src/{blueprints → skills}/discord/operations/fetch-messages.test.ts +0 -0
- /package/src/{blueprints → skills}/discord/operations/index.ts +0 -0
- /package/src/{blueprints → skills}/github/index.ts +0 -0
- /package/src/{blueprints → skills}/github/operations/definitions.ts +0 -0
- /package/src/{blueprints → skills}/github/operations/fetch-prs.ts +0 -0
- /package/src/{blueprints → skills}/github/operations/index.ts +0 -0
- /package/src/{blueprints → skills}/linear/operations/definitions.ts +0 -0
- /package/src/{blueprints → skills}/linear/operations/index.ts +0 -0
- /package/src/{blueprints → skills}/linear/operations/linear.test.ts +0 -0
- /package/src/{blueprints → skills}/linear/operations/sync-issues.ts +0 -0
- /package/src/{blueprints → skills}/memory/operations/definitions.ts +0 -0
- /package/src/{blueprints → skills}/memory/operations/delete.ts +0 -0
- /package/src/{blueprints → skills}/memory/operations/index.ts +0 -0
- /package/src/{blueprints → skills}/memory/operations/query.ts +0 -0
- /package/src/{blueprints → skills}/memory/operations/save.ts +0 -0
- /package/src/{blueprints → skills}/planning/operations/update-tasks.md +0 -0
- /package/src/{blueprints → skills}/websearch/operations/definitions.ts +0 -0
- /package/src/{blueprints → skills}/websearch/operations/index.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/assistant-toolkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Assistant toolkit, definitions, and utilities.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -30,45 +30,45 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@effect/ai": "0.36.0",
|
|
32
32
|
"@effect/ai-anthropic": "0.26.0",
|
|
33
|
-
"@effect/platform": "0.96.
|
|
33
|
+
"@effect/platform": "0.96.2",
|
|
34
34
|
"dfx": "^0.127.0",
|
|
35
35
|
"exa-js": "^1.5.12",
|
|
36
|
-
"@dxos/ai": "0.
|
|
37
|
-
"@dxos/app-framework": "0.
|
|
38
|
-
"@dxos/assistant": "0.
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/compute
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/functions": "0.
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/invariant": "0.
|
|
50
|
-
"@dxos/functions-runtime": "0.
|
|
51
|
-
"@dxos/
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/react-ui": "0.
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/util": "0.
|
|
57
|
-
"@dxos/
|
|
36
|
+
"@dxos/ai": "0.10.0",
|
|
37
|
+
"@dxos/app-framework": "0.10.0",
|
|
38
|
+
"@dxos/assistant": "0.10.0",
|
|
39
|
+
"@dxos/client-protocol": "0.10.0",
|
|
40
|
+
"@dxos/echo": "0.10.0",
|
|
41
|
+
"@dxos/app-toolkit": "0.10.0",
|
|
42
|
+
"@dxos/compute": "0.10.0",
|
|
43
|
+
"@dxos/compute-runtime": "0.10.0",
|
|
44
|
+
"@dxos/edge-client": "0.10.0",
|
|
45
|
+
"@dxos/errors": "0.10.0",
|
|
46
|
+
"@dxos/echo-protocol": "0.10.0",
|
|
47
|
+
"@dxos/functions": "0.10.0",
|
|
48
|
+
"@dxos/effect": "0.10.0",
|
|
49
|
+
"@dxos/invariant": "0.10.0",
|
|
50
|
+
"@dxos/functions-runtime": "0.10.0",
|
|
51
|
+
"@dxos/react-ui": "0.10.0",
|
|
52
|
+
"@dxos/keys": "0.10.0",
|
|
53
|
+
"@dxos/react-ui-syntax-highlighter": "0.10.0",
|
|
54
|
+
"@dxos/schema": "0.10.0",
|
|
55
|
+
"@dxos/types": "0.10.0",
|
|
56
|
+
"@dxos/util": "0.10.0",
|
|
57
|
+
"@dxos/log": "0.10.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"effect": "3.21.
|
|
61
|
-
"react": "~19.2.
|
|
62
|
-
"react-dom": "~19.2.
|
|
63
|
-
"@dxos/client-protocol": "0.
|
|
64
|
-
"@dxos/plugin-markdown": "0.
|
|
65
|
-
"@dxos/ui-theme": "0.
|
|
60
|
+
"effect": "3.21.4",
|
|
61
|
+
"react": "~19.2.7",
|
|
62
|
+
"react-dom": "~19.2.7",
|
|
63
|
+
"@dxos/client-protocol": "0.10.0",
|
|
64
|
+
"@dxos/plugin-markdown": "0.10.0",
|
|
65
|
+
"@dxos/ui-theme": "0.10.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"effect": "3.21.
|
|
69
|
-
"react": "~19.2.
|
|
70
|
-
"react-dom": "~19.2.
|
|
71
|
-
"@dxos/ui-theme": "0.
|
|
68
|
+
"effect": "3.21.4",
|
|
69
|
+
"react": "~19.2.7",
|
|
70
|
+
"react-dom": "~19.2.7",
|
|
71
|
+
"@dxos/ui-theme": "0.10.0"
|
|
72
72
|
},
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|
package/src/errors.ts
CHANGED
|
@@ -23,3 +23,15 @@ export class PromptError extends BaseError.extend('PromptError') {
|
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Exactly-one invariant violated for an object bound to the harness conversation context.
|
|
29
|
+
*/
|
|
30
|
+
export class HarnessContextError extends BaseError.extend('HarnessContextError', 'Harness context invariant violated') {
|
|
31
|
+
constructor(context: { type: string; count: number }) {
|
|
32
|
+
super({
|
|
33
|
+
message: `There should be exactly one ${context.type} in context. Got: ${context.count}.`,
|
|
34
|
+
context,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './functions';
|
|
5
|
+
export * from './skills';
|
|
6
|
+
export * from './operations';
|
|
8
7
|
export * from './supervisor';
|
|
9
8
|
export * from './sync';
|
|
10
|
-
export * from './toolkits';
|
|
11
9
|
export * from './types';
|
|
@@ -4,40 +4,39 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Schema from 'effect/Schema';
|
|
6
6
|
|
|
7
|
-
import { AiService, OpaqueToolkit
|
|
8
|
-
import {
|
|
7
|
+
import { AiService, OpaqueToolkit } from '@dxos/ai';
|
|
8
|
+
import { Instructions, Operation, Trace } from '@dxos/compute';
|
|
9
9
|
import { Database, Feed, Ref, Registry } from '@dxos/echo';
|
|
10
10
|
import { DXN } from '@dxos/keys';
|
|
11
11
|
import { Text } from '@dxos/schema';
|
|
12
12
|
|
|
13
|
-
import * as Chat from '
|
|
13
|
+
import * as Chat from '../types/Chat';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
export const AgentPrompt = Operation.make({
|
|
15
|
+
export const RunInstructions = Operation.make({
|
|
17
16
|
meta: {
|
|
18
|
-
key: DXN.make('org.dxos.function.
|
|
19
|
-
name: 'Run
|
|
20
|
-
description: 'Agentic worker that executes a provided prompt using
|
|
17
|
+
key: DXN.make('org.dxos.function.runInstructions'),
|
|
18
|
+
name: 'Run Instructions',
|
|
19
|
+
description: 'Agentic worker that executes a provided prompt using skills and tools.',
|
|
21
20
|
icon: 'ph--brain--regular',
|
|
22
21
|
},
|
|
23
22
|
input: Schema.Struct({
|
|
24
|
-
|
|
23
|
+
instructions: Ref.Ref(Instructions.Instructions),
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
|
-
*
|
|
26
|
+
* Input object or data.
|
|
27
|
+
* References get auto-resolved.
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
input: Schema.Any.pipe(Schema.annotations({ title: 'Input' })),
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* When set, runs in this chat (history, queue, and bound context). Routine skills and context objects are merged into the conversation for this request.
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
chat: Schema.optional(Ref.Ref(Chat.Chat)),
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
38
|
-
* References get auto-resolved.
|
|
37
|
+
* @default dxn:com.anthropic.model.claude-opus-4-8.default
|
|
39
38
|
*/
|
|
40
|
-
|
|
39
|
+
model: Schema.optional(DXN.Schema),
|
|
41
40
|
|
|
42
41
|
systemInstructions: Schema.optional(Schema.String).annotations({
|
|
43
42
|
description: 'Additional system instructions to add to the system prompt.',
|
|
@@ -46,11 +45,10 @@ export const AgentPrompt = Operation.make({
|
|
|
46
45
|
output: Schema.Any,
|
|
47
46
|
// ECHO types that the handler loads via Database.load(). Declaring them here ensures the
|
|
48
47
|
// runtime registers their schema before remote invocation (e.g. via the EDGE function service).
|
|
49
|
-
types: [
|
|
48
|
+
types: [Instructions.Instructions, Text.Text, Feed.Feed, Chat.Chat],
|
|
50
49
|
services: [
|
|
51
50
|
AiService.AiService,
|
|
52
51
|
Database.Service,
|
|
53
|
-
Feed.FeedService,
|
|
54
52
|
OpaqueToolkit.OpaqueToolkitProvider,
|
|
55
53
|
Registry.Service,
|
|
56
54
|
Trace.TraceService,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"conversations":[{"parameters":{"model":"dxn:com.anthropic.model.claudeOpus48","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"string"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0153cr8reaEp7UUPQ6mDsw33","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"ack","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","name":"completeJob","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","delta":"{\"success\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","delta":": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","delta":"ack\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":612,"outputTokens":52,"totalTokens":664},"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":612,"output_tokens":4,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claudeOpus48","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"string"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{}},{"role":"assistant","content":[{"type":"text","text":"ack","options":{}},{"type":"tool-call","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","name":"completeJob","params":{"success":"ack"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01G8D91FCK1Ufxt927zs8Pke","name":"completeJob","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01JwZWDHP9f91j9mtuBcweEi","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"ack","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":671,"outputTokens":4,"totalTokens":675},"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":671,"output_tokens":4,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claudeOpus48","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"object","required":["name","age"],"properties":{"name":{"type":"string"},"age":{"type":"number"}},"additionalProperties":false},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Invent a fictional person and call completeJob with the success object describing them (name and age).\n<input>{}</input>","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_019BDNVW5UBKUGq1fPmQQg5x","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EtEBCmMIDxgCKkBVw1KTUvy7ptjvU5KhOrJzn6FiU+sGl7uyv3E5tQNCLoTMrYyNrZ9cIwIzQisu+ee9oMZ6wWLLF2btcTWRVWCAMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDPHq6lstKXSz5+gs3BoMLWs6Npza0CHs3w3+IjAYs9sYyXBEVkXu1uxuY34gp1OEbqzEhTc++dBNqDAa8BiDdAudN6Hh+bsTaFaobq8qHGgvSqiOqVGXMGe0HdDr8nRlh4FgmWYHsvGNLX0YAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01CfLMgATBzNGar8mig31jpu","name":"completeJob","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":"{\"succes","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":"s\": {\"name\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":":\"Elean","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":"or","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":" Vance","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":"\",\"age","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":"\":3","metadata":{}},{"type":"tool-params-delta","id":"toolu_01CfLMgATBzNGar8mig31jpu","delta":"4}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01CfLMgATBzNGar8mig31jpu","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":678,"outputTokens":75,"totalTokens":753},"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":678,"output_tokens":57,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claudeOpus48","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"object","required":["name","age"],"properties":{"name":{"type":"string"},"age":{"type":"number"}},"additionalProperties":false},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Invent a fictional person and call completeJob with the success object describing them (name and age).\n<input>{}</input>","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"","options":{}},{"type":"tool-call","id":"toolu_01CfLMgATBzNGar8mig31jpu","name":"completeJob","params":{"success":{"name":"Eleanor Vance","age":34}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01CfLMgATBzNGar8mig31jpu","name":"completeJob","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01NU5aMLn4XFj5QY5mrVHJuZ","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I","metadata":{}},{"type":"text-delta","id":"0","delta":"'ve created a fictional person named Eleanor Vance, age 34, and submitted them via completeJob.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":752,"outputTokens":35,"totalTokens":787},"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":752,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claudeOpus48","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"string"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].\n\n## Context Objects\n\n<object>\n <dxn>echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNT8A</dxn>\n <typename>org.dxos.type.assistant.chat</typename>\n</object>","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01CVS6itosiKTLqoqYECoGWg","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"ack","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","name":"completeJob","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","delta":"{\"s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","delta":"ucce","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","delta":"ss\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","delta":"ack\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":724,"outputTokens":52,"totalTokens":776},"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":724,"output_tokens":4,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claudeOpus48","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"string"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].\n\n## Context Objects\n\n<object>\n <dxn>echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNT8A</dxn>\n <typename>org.dxos.type.assistant.chat</typename>\n</object>","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{}},{"role":"assistant","content":[{"type":"text","text":"ack","options":{}},{"type":"tool-call","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","name":"completeJob","params":{"success":"ack"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01XzJ1hGLDmTa8BaqDexfDbZ","name":"completeJob","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01V4JNNLgtHrbJxKxQDVyXzb","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"ack","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":783,"outputTokens":4,"totalTokens":787},"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":783,"output_tokens":4,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claude-opus-4-8.default","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"string"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].\n\n## Context Objects\n\n<object>\n <dxn>echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNT8A</dxn>\n <typename>org.dxos.type.assistant.chat</typename>\n</object>","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_018VHmVQ6iNHU4FHiXgJMUwY","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"ack","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","name":"completeJob","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","delta":"{\"s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","delta":"ucce","metadata":{}},{"type":"tool-params-delta","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","delta":"ss\": \"ack\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":724,"outputTokens":52,"totalTokens":776},"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":724,"output_tokens":4,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claude-opus-4-8.default","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"string"},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].\n\n## Context Objects\n\n<object>\n <dxn>echo://BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U/01JGFJJZ00G0WKQSJGMAKCNT8A</dxn>\n <typename>org.dxos.type.assistant.chat</typename>\n</object>","options":{}},{"role":"user","content":"Reply with a single word: ack.\n<input>{}</input>","options":{}},{"role":"assistant","content":[{"type":"text","text":"ack","options":{}},{"type":"tool-call","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","name":"completeJob","params":{"success":"ack"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01SRavvLjWk6zhv1TyrFsdp5","name":"completeJob","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01QSoFHABffojvPky1tdoXxM","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"ack","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":783,"outputTokens":4,"totalTokens":787},"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":783,"output_tokens":4,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claude-opus-4-8.default","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"object","required":["name","age"],"properties":{"name":{"type":"string"},"age":{"type":"number"}},"additionalProperties":false},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Invent a fictional person and call completeJob with the success object describing them (name and age).\n<input>{}</input>","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01KLYHj1mTcocgfP8YsUF5KB","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EogCCmMIDxgCKkByv/2cBEVkb9zPO7UA+QRheh+uTjBIakYniEgOcHYZcu9kDrZBMw6El578ODBYiqybw/5r8oBoOTtmz1W9xkKYMg9jbGF1ZGUtb3B1cy00LTg4AEIIdGhpbmtpbmcSDJVApLPVOiKe74P3ARoM4SiyyjXCAFNVbbmlIjCtRTgJtgB8dANbeZZ72gxXuFudL3oSAoYqzh+AmJC3lbExS9Tv3rVQfG/azsYA/2IqUyreggU847XEMSBvY367PwMJcuv5uPMxW5H9UVHAMKa8MjQKN/+BIAXn1NmcUXuOxJebuwrXI8FqH2ItXT5JHIVz9NxDJnbPDoA3DMHgwYFlW3hnGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","name":"completeJob","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","delta":"{\"success\": ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","delta":"{\"name\":\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","delta":"Eleanor Vanc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","delta":"e\",\"ag","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","delta":"e\":34","metadata":{}},{"type":"tool-params-delta","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","delta":"}}","metadata":{}},{"type":"tool-params-end","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":678,"outputTokens":88,"totalTokens":766},"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":678,"output_tokens":6,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"dxn:com.anthropic.model.claude-opus-4-8.default","stream":true,"tools":[{"name":"completeJob","inputSchema":{"type":"object","required":[],"properties":{"success":{"type":"object","required":["name","age"],"properties":{"name":{"type":"string"},"age":{"type":"number"}},"additionalProperties":false},"failure":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Short message describing the error."},"description":{"type":"string","description":"Optional longer message describing in detail what went wrong"}},"additionalProperties":false}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"You are an agent running in the non-interactive mode.\nThe user is unable to see what you are doing, and cannot answer any questions.\nDo not ask questions.\nComplete the task before you, and at the end call [completeJob] with the output.\nIf you are unable to complete the task, call [completeJob] with the failure reason.\nIf no output is required, call [completeJob] with an empty object: {}\nDo not stop until you call [completeJob].","options":{}},{"role":"user","content":"Invent a fictional person and call completeJob with the success object describing them (name and age).\n<input>{}</input>","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"","options":{}},{"type":"tool-call","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","name":"completeJob","params":{"success":{"name":"Eleanor Vance","age":34}},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01JaaTR43JU1qqDCcx3iSL12","name":"completeJob","isFailure":false,"result":{},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_0163UXRftCZBAUuB7RiRMm6e","modelId":"claude-opus-4-8","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I","metadata":{}},{"type":"text-delta","id":"0","delta":"'ve invented a fictional person named Eleanor Vance, age 34, and submitted the success object via completeJob.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":752,"outputTokens":38,"totalTokens":790},"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":752,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
|
|
@@ -0,0 +1,118 @@
|
|
|
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 Schema from 'effect/Schema';
|
|
8
|
+
|
|
9
|
+
import { AiContext } from '@dxos/assistant';
|
|
10
|
+
import { Instructions, Operation, OperationHandlerSet } from '@dxos/compute';
|
|
11
|
+
import { Database, Feed, Filter, JsonSchema, Obj, Ref } from '@dxos/echo';
|
|
12
|
+
import { TestHelpers } from '@dxos/effect/testing';
|
|
13
|
+
import { AssistantTestLayer } from '@dxos/functions-runtime/testing';
|
|
14
|
+
import { EntityId } from '@dxos/keys';
|
|
15
|
+
import { Text } from '@dxos/schema';
|
|
16
|
+
import { Message } from '@dxos/types';
|
|
17
|
+
|
|
18
|
+
import * as Chat from '../types/Chat';
|
|
19
|
+
import * as Plan from '../types/Plan';
|
|
20
|
+
import { RunInstructions } from './definitions';
|
|
21
|
+
import defaultAgentPrompt from './run-instructions';
|
|
22
|
+
|
|
23
|
+
EntityId.dangerouslyDisableRandomness();
|
|
24
|
+
|
|
25
|
+
const operationHandlerSet = OperationHandlerSet.make(defaultAgentPrompt);
|
|
26
|
+
|
|
27
|
+
const TestLayer = AssistantTestLayer({
|
|
28
|
+
operationHandlers: operationHandlerSet,
|
|
29
|
+
types: [Chat.Chat, Message.Message, AiContext.Binding, Text.Text, Plan.Plan],
|
|
30
|
+
aiServicePreset: 'edge-remote',
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
describe('Agent prompt', () => {
|
|
34
|
+
it.effect(
|
|
35
|
+
'chat mode appends assistant messages to the chat queue',
|
|
36
|
+
Effect.fnUntraced(
|
|
37
|
+
function* (_) {
|
|
38
|
+
const feed = yield* Database.add(Feed.make());
|
|
39
|
+
const messageCountBefore = yield* countFeedMessages(feed);
|
|
40
|
+
|
|
41
|
+
const chat = yield* Database.add(
|
|
42
|
+
Chat.make({
|
|
43
|
+
feed: Ref.make(feed),
|
|
44
|
+
}),
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
const instructions = yield* Database.add(
|
|
48
|
+
Instructions.make({
|
|
49
|
+
name: 'chat-mode-test',
|
|
50
|
+
text: 'Reply with a single word: ack.',
|
|
51
|
+
skills: [],
|
|
52
|
+
output: Schema.String,
|
|
53
|
+
}),
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
yield* Database.flush();
|
|
57
|
+
|
|
58
|
+
const result = yield* Operation.invoke(RunInstructions, {
|
|
59
|
+
instructions: Ref.make(instructions),
|
|
60
|
+
input: {},
|
|
61
|
+
chat: Ref.make(chat),
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
const messageCountAfter = yield* countFeedMessages(feed);
|
|
65
|
+
|
|
66
|
+
expect(messageCountAfter).toBeGreaterThan(messageCountBefore);
|
|
67
|
+
expect(result).toBe('ack');
|
|
68
|
+
},
|
|
69
|
+
Effect.provide(TestLayer),
|
|
70
|
+
TestHelpers.provideTestContext,
|
|
71
|
+
),
|
|
72
|
+
{ timeout: 60_000 },
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
it.effect(
|
|
76
|
+
'generates an object conforming to the instructions output schema',
|
|
77
|
+
Effect.fnUntraced(
|
|
78
|
+
function* (_) {
|
|
79
|
+
const Person = Schema.Struct({
|
|
80
|
+
name: Schema.String,
|
|
81
|
+
age: Schema.Number,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const instructions = yield* Database.add(
|
|
85
|
+
Instructions.make({
|
|
86
|
+
name: 'output-schema-test',
|
|
87
|
+
text: 'Invent a fictional person and call completeJob with the success object describing them (name and age).',
|
|
88
|
+
output: Person,
|
|
89
|
+
skills: [],
|
|
90
|
+
}),
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
yield* Database.flush();
|
|
94
|
+
|
|
95
|
+
const result = yield* Operation.invoke(RunInstructions, {
|
|
96
|
+
instructions: Ref.make(instructions),
|
|
97
|
+
input: {},
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
// The instructions persists its declared output as a JSON schema; decode it back and assert the
|
|
101
|
+
// agent-produced object satisfies that schema.
|
|
102
|
+
const outputSchema = JsonSchema.toEffectSchema(instructions.output);
|
|
103
|
+
const decoded = Schema.decodeUnknownSync(outputSchema)(result);
|
|
104
|
+
expect(typeof decoded.name).toBe('string');
|
|
105
|
+
expect(typeof decoded.age).toBe('number');
|
|
106
|
+
},
|
|
107
|
+
Effect.provide(TestLayer),
|
|
108
|
+
TestHelpers.provideTestContext,
|
|
109
|
+
),
|
|
110
|
+
{ timeout: 60_000 },
|
|
111
|
+
);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
const countFeedMessages = (feed: Feed.Feed) =>
|
|
115
|
+
Effect.gen(function* () {
|
|
116
|
+
const items = yield* Feed.query(feed, Filter.everything()).run;
|
|
117
|
+
return items.filter(Obj.instanceOf(Message.Message)).length;
|
|
118
|
+
});
|
|
@@ -10,27 +10,36 @@ import * as Layer from 'effect/Layer';
|
|
|
10
10
|
import * as Option from 'effect/Option';
|
|
11
11
|
import * as Schema from 'effect/Schema';
|
|
12
12
|
|
|
13
|
-
import { AiService, OpaqueToolkit
|
|
13
|
+
import { AiService, OpaqueToolkit } from '@dxos/ai';
|
|
14
14
|
import {
|
|
15
15
|
AiSession,
|
|
16
16
|
getOperationFromTool,
|
|
17
17
|
makeToolExecutionService,
|
|
18
18
|
makeToolResolverFromOperations,
|
|
19
19
|
} from '@dxos/assistant';
|
|
20
|
-
import { Template, Trace
|
|
21
|
-
import { Database, Feed, Obj, Ref } from '@dxos/echo';
|
|
20
|
+
import { Operation, Template, Trace } from '@dxos/compute';
|
|
21
|
+
import { Database, Feed, JsonSchema, Obj, Ref } from '@dxos/echo';
|
|
22
22
|
import { EffectEx } from '@dxos/effect';
|
|
23
23
|
import { invariant } from '@dxos/invariant';
|
|
24
|
+
import { DXN } from '@dxos/keys';
|
|
24
25
|
import { log } from '@dxos/log';
|
|
25
26
|
import { trim } from '@dxos/util';
|
|
26
27
|
|
|
27
|
-
import { PromptError } from '
|
|
28
|
-
import * as Chat from '
|
|
29
|
-
import {
|
|
28
|
+
import { PromptError } from '../errors';
|
|
29
|
+
import * as Chat from '../types/Chat';
|
|
30
|
+
import { RunInstructions } from './definitions';
|
|
30
31
|
|
|
31
|
-
const DEFAULT_MODEL:
|
|
32
|
+
const DEFAULT_MODEL: DXN.DXN = DXN.make('com.anthropic.model.claude-opus-4-8.default');
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
const routineOutputSchema = (output: JsonSchema.JsonSchema): Schema.Schema.All => {
|
|
35
|
+
// Routines default to Void output; completeJob still needs to accept arbitrary success payloads.
|
|
36
|
+
if ('$id' in output && output.$id === '/schemas/unknown') {
|
|
37
|
+
return Schema.Any;
|
|
38
|
+
}
|
|
39
|
+
return JsonSchema.toEffectSchema(output);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export default RunInstructions.pipe(
|
|
34
43
|
Operation.withHandler(
|
|
35
44
|
Effect.fnUntraced(
|
|
36
45
|
function* (data) {
|
|
@@ -41,31 +50,32 @@ export default AgentPrompt.pipe(
|
|
|
41
50
|
: Effect.succeed(data.input);
|
|
42
51
|
|
|
43
52
|
yield* Database.flush();
|
|
44
|
-
const
|
|
45
|
-
yield* Trace.emitStatus(`Running ${
|
|
53
|
+
const instructions = yield* Database.load(data.instructions);
|
|
54
|
+
yield* Trace.emitStatus(`Running ${instructions.id}`);
|
|
46
55
|
|
|
47
|
-
log.info('starting agent', {
|
|
56
|
+
log.info('starting agent', { instructions: instructions.id, input });
|
|
48
57
|
|
|
49
|
-
// Bind the
|
|
58
|
+
// Bind the instructions' own refs, dropping any that no longer resolve. The refs must be
|
|
50
59
|
// bound as-is (not re-wrapped via `Ref.make`) to preserve their registry DXN: bindings
|
|
51
|
-
// are persisted to the conversation feed, and registry-only
|
|
60
|
+
// are persisted to the conversation feed, and registry-only skills have no space-DB
|
|
52
61
|
// identity, so an EID ref would not resolve when the binding is re-read.
|
|
53
|
-
const
|
|
62
|
+
const skillRefs = yield* Effect.filter(instructions.skills, (ref) =>
|
|
54
63
|
Database.load(ref).pipe(
|
|
55
64
|
Effect.as(true),
|
|
56
65
|
Effect.catchTag('EntityNotFoundError', () => Effect.succeed(false)),
|
|
57
66
|
),
|
|
58
67
|
);
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
// Bind the instructions' context objects (sibling of skills), dropping any that no longer resolve.
|
|
70
|
+
const objectRefs = yield* Effect.filter(instructions.objects ?? [], (ref) =>
|
|
61
71
|
Database.load(ref).pipe(
|
|
62
72
|
Effect.as(true),
|
|
63
73
|
Effect.catchTag('EntityNotFoundError', () => Effect.succeed(false)),
|
|
64
74
|
),
|
|
65
75
|
);
|
|
66
76
|
|
|
67
|
-
const
|
|
68
|
-
let promptText = Template.process(
|
|
77
|
+
const textDoc = yield* Database.load(instructions.text);
|
|
78
|
+
let promptText = Template.process(textDoc.content, input);
|
|
69
79
|
|
|
70
80
|
if (input !== undefined) {
|
|
71
81
|
promptText += `\n<input>${JSON.stringify(input)}</input>`;
|
|
@@ -84,7 +94,7 @@ export default AgentPrompt.pipe(
|
|
|
84
94
|
systemText += `\n${data.systemInstructions}`;
|
|
85
95
|
}
|
|
86
96
|
|
|
87
|
-
const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);
|
|
97
|
+
const modelLayer = AiService.model(DXN.getName(data.model ?? DEFAULT_MODEL));
|
|
88
98
|
|
|
89
99
|
let feed: Feed.Feed;
|
|
90
100
|
if (data.chat) {
|
|
@@ -97,17 +107,17 @@ export default AgentPrompt.pipe(
|
|
|
97
107
|
|
|
98
108
|
const resultSink = yield* Deferred.make<unknown, PromptError>();
|
|
99
109
|
const promptToolkit = makePromptAgentToolkit({
|
|
100
|
-
output:
|
|
110
|
+
output: routineOutputSchema(instructions.output),
|
|
101
111
|
resultSink,
|
|
102
112
|
});
|
|
103
113
|
|
|
104
|
-
const runtime = yield* Effect.runtime<
|
|
114
|
+
const runtime = yield* Effect.runtime<Database.Service>();
|
|
105
115
|
const session = yield* EffectEx.acquireReleaseResource(() => new AiSession.Session({ feed, runtime }));
|
|
106
116
|
|
|
107
117
|
yield* Effect.promise(() =>
|
|
108
118
|
session.context.bind({
|
|
109
|
-
|
|
110
|
-
objects: objectRefs,
|
|
119
|
+
skills: skillRefs,
|
|
120
|
+
objects: data.chat ? [...objectRefs, data.chat] : objectRefs,
|
|
111
121
|
}),
|
|
112
122
|
);
|
|
113
123
|
|
|
@@ -162,13 +172,13 @@ export default AgentPrompt.pipe(
|
|
|
162
172
|
);
|
|
163
173
|
|
|
164
174
|
const makePromptAgentToolkit = (options: {
|
|
165
|
-
output: Schema.Schema.
|
|
175
|
+
output: Schema.Schema.All;
|
|
166
176
|
resultSink: Deferred.Deferred<unknown, PromptError>;
|
|
167
177
|
}) => {
|
|
168
178
|
class PromptAgentToolkit extends Toolkit.make(
|
|
169
179
|
Tool.make('completeJob', {
|
|
170
180
|
parameters: {
|
|
171
|
-
success: Schema.optional(
|
|
181
|
+
success: Schema.optional(options.output),
|
|
172
182
|
failure: Schema.optional(
|
|
173
183
|
Schema.Struct({
|
|
174
184
|
message: Schema.String.annotations({
|