@dxos/assistant-toolkit 0.8.4-main.7ace549 → 0.8.4-main.8baae0fced
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +102 -5
- package/dist/lib/neutral/add-artifact-7Z2OMHGM.mjs +30 -0
- package/dist/lib/neutral/add-artifact-7Z2OMHGM.mjs.map +7 -0
- package/dist/lib/neutral/agent-ZTAQNX5E.mjs +65 -0
- package/dist/lib/neutral/agent-ZTAQNX5E.mjs.map +7 -0
- package/dist/lib/neutral/chunk-7UCYAP3T.mjs +332 -0
- package/dist/lib/neutral/chunk-7UCYAP3T.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ANSF2BHN.mjs +67 -0
- package/dist/lib/neutral/chunk-ANSF2BHN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BALMVGVP.mjs +291 -0
- package/dist/lib/neutral/chunk-BALMVGVP.mjs.map +7 -0
- package/dist/lib/neutral/chunk-COL54UJ3.mjs +60 -0
- package/dist/lib/neutral/chunk-COL54UJ3.mjs.map +7 -0
- package/dist/lib/neutral/chunk-EHGCPRUX.mjs +70 -0
- package/dist/lib/neutral/chunk-EHGCPRUX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-EJAQUAKM.mjs +73 -0
- package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JH5J5N3Q.mjs +75 -0
- package/dist/lib/neutral/chunk-JH5J5N3Q.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JHYEZDFH.mjs +65 -0
- package/dist/lib/neutral/chunk-JHYEZDFH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-KGU725LW.mjs +29 -0
- package/dist/lib/neutral/chunk-KGU725LW.mjs.map +7 -0
- package/dist/lib/neutral/chunk-MMQ7HFL4.mjs +107 -0
- package/dist/lib/neutral/chunk-MMQ7HFL4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-NR3GTWRC.mjs +53 -0
- package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +7 -0
- package/dist/lib/neutral/chunk-Q2TFHHQH.mjs +101 -0
- package/dist/lib/neutral/chunk-Q2TFHHQH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WLR3BGO4.mjs +25 -0
- package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ZFXLTBZG.mjs +73 -0
- package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +7 -0
- package/dist/lib/neutral/context-add-S5MBW2NA.mjs +22 -0
- package/dist/lib/neutral/context-add-S5MBW2NA.mjs.map +7 -0
- package/dist/lib/neutral/context-remove-35O5T5N5.mjs +22 -0
- package/dist/lib/neutral/context-remove-35O5T5N5.mjs.map +7 -0
- package/dist/lib/neutral/create-project-3ILVMUYF.mjs +35 -0
- package/dist/lib/neutral/create-project-3ILVMUYF.mjs.map +7 -0
- package/dist/lib/neutral/delete-J3PMWP7Z.mjs +19 -0
- package/dist/lib/neutral/delete-J3PMWP7Z.mjs.map +7 -0
- package/dist/lib/neutral/enable-blueprints-IVKST3WH.mjs +47 -0
- package/dist/lib/neutral/enable-blueprints-IVKST3WH.mjs.map +7 -0
- package/dist/lib/neutral/fetch-KHMHV7JR.mjs +16 -0
- package/dist/lib/neutral/fetch-KHMHV7JR.mjs.map +7 -0
- package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs +139 -0
- package/dist/lib/neutral/fetch-messages-QOBBCTGC.mjs.map +7 -0
- package/dist/lib/neutral/get-context-45LC3XX3.mjs +35 -0
- package/dist/lib/neutral/get-context-45LC3XX3.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +914 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/load-GAT3T2AD.mjs +17 -0
- package/dist/lib/neutral/load-GAT3T2AD.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/object-create-PL3WRP74.mjs +35 -0
- package/dist/lib/neutral/object-create-PL3WRP74.mjs.map +7 -0
- package/dist/lib/neutral/object-delete-PZJQN5KW.mjs +18 -0
- package/dist/lib/neutral/object-delete-PZJQN5KW.mjs.map +7 -0
- package/dist/lib/neutral/object-update-R43N3VJX.mjs +28 -0
- package/dist/lib/neutral/object-update-R43N3VJX.mjs.map +7 -0
- package/dist/lib/neutral/project-BIHH5G57.mjs +23 -0
- package/dist/lib/neutral/project-BIHH5G57.mjs.map +7 -0
- package/dist/lib/neutral/project-rules-FVGXETAI.mjs +78 -0
- package/dist/lib/neutral/project-rules-FVGXETAI.mjs.map +7 -0
- package/dist/lib/neutral/prompt-INL55Q2B.mjs +170 -0
- package/dist/lib/neutral/prompt-INL55Q2B.mjs.map +7 -0
- package/dist/lib/neutral/qualifier-ANAPS6SX.mjs +88 -0
- package/dist/lib/neutral/qualifier-ANAPS6SX.mjs.map +7 -0
- package/dist/lib/neutral/query-MP5NSQKO.mjs +69 -0
- package/dist/lib/neutral/query-MP5NSQKO.mjs.map +7 -0
- package/dist/lib/neutral/query-U56GNEV6.mjs +32 -0
- package/dist/lib/neutral/query-U56GNEV6.mjs.map +7 -0
- package/dist/lib/neutral/query-blueprints-PLWYVOI3.mjs +16 -0
- package/dist/lib/neutral/query-blueprints-PLWYVOI3.mjs.map +7 -0
- package/dist/lib/neutral/relation-create-YAAAFTR2.mjs +34 -0
- package/dist/lib/neutral/relation-create-YAAAFTR2.mjs.map +7 -0
- package/dist/lib/neutral/relation-delete-IEPKERFR.mjs +18 -0
- package/dist/lib/neutral/relation-delete-IEPKERFR.mjs.map +7 -0
- package/dist/lib/neutral/save-GWAPLT3Z.mjs +23 -0
- package/dist/lib/neutral/save-GWAPLT3Z.mjs.map +7 -0
- package/dist/lib/neutral/schema-add-5BNIINRS.mjs +24 -0
- package/dist/lib/neutral/schema-add-5BNIINRS.mjs.map +7 -0
- package/dist/lib/neutral/schema-list-54UK7S4R.mjs +38 -0
- package/dist/lib/neutral/schema-list-54UK7S4R.mjs.map +7 -0
- package/dist/lib/neutral/sync-issues-DWY76B3M.mjs +166 -0
- package/dist/lib/neutral/sync-issues-DWY76B3M.mjs.map +7 -0
- package/dist/lib/neutral/sync-triggers-2THNRKJ4.mjs +135 -0
- package/dist/lib/neutral/sync-triggers-2THNRKJ4.mjs.map +7 -0
- package/dist/lib/neutral/tag-add-NLVRGTC6.mjs +19 -0
- package/dist/lib/neutral/tag-add-NLVRGTC6.mjs.map +7 -0
- package/dist/lib/neutral/tag-remove-N4HFBIA2.mjs +19 -0
- package/dist/lib/neutral/tag-remove-N4HFBIA2.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +76 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/lib/neutral/update-blueprints-2SNK6HLG.mjs +16 -0
- package/dist/lib/neutral/update-blueprints-2SNK6HLG.mjs.map +7 -0
- package/dist/lib/neutral/update-tasks-LCULJYIO.mjs +13 -0
- package/dist/lib/neutral/update-tasks-LCULJYIO.mjs.map +7 -0
- package/dist/types/src/blueprints/automation/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/automation/index.d.ts +2 -0
- package/dist/types/src/blueprints/automation/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +61 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +36 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +27 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +4 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +1 -0
- package/dist/types/src/blueprints/blueprint-manager/index.d.ts +3 -0
- package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/browser/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/browser/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/browser/index.d.ts +2 -0
- package/dist/types/src/blueprints/browser/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/context-add.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/context-remove.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/definitions.d.ts +59 -0
- package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/load.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/object-create.d.ts +8 -0
- package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/object-delete.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/object-update.d.ts +10 -0
- package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/query.d.ts +12 -0
- package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/relation-create.d.ts +10 -0
- package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/schema-add.d.ts +9 -0
- package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/schema-list.d.ts +7 -0
- package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/tag-add.d.ts +8 -0
- package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +8 -0
- package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -0
- package/dist/types/src/blueprints/database/index.d.ts +3 -0
- package/dist/types/src/blueprints/database/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/functions/definitions.d.ts +15 -0
- package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.d.ts +3 -2
- package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/functions/fetch-messages.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/discord/index.d.ts +2 -2
- package/dist/types/src/blueprints/discord/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/github/functions/definitions.d.ts +7 -0
- package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +8 -0
- package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -0
- package/dist/types/src/blueprints/github/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/github/index.d.ts +2 -0
- package/dist/types/src/blueprints/github/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +11 -6
- package/dist/types/src/blueprints/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/linear/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/definitions.d.ts +6 -0
- package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/linear.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +10 -0
- package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -0
- package/dist/types/src/blueprints/linear/index.d.ts +2 -2
- package/dist/types/src/blueprints/linear/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/definitions.d.ts +17 -0
- package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/delete.d.ts +10 -0
- package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/query.d.ts +8 -0
- package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/functions/save.d.ts +8 -0
- package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -0
- package/dist/types/src/blueprints/memory/index.d.ts +3 -0
- package/dist/types/src/blueprints/memory/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +24 -0
- package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts +2 -0
- package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/planning/index.d.ts +2 -2
- package/dist/types/src/blueprints/planning/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/project/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +4 -0
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/agent.d.ts +4 -0
- package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/definitions.d.ts +166 -0
- package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/get-context.d.ts +4 -0
- package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts +77 -0
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/index.d.ts +3 -0
- package/dist/types/src/blueprints/project/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +55 -0
- package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +104 -0
- package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +4 -0
- package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +52 -0
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -0
- package/dist/types/src/blueprints/project-wizard/index.d.ts +3 -0
- package/dist/types/src/blueprints/project-wizard/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/testing.d.ts +9 -5
- package/dist/types/src/blueprints/testing.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +5 -0
- package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +6 -0
- package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/websearch/index.d.ts +3 -3
- package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/{websearch-toolkit.d.ts → toolkit.d.ts} +3 -1
- package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -0
- package/dist/types/src/crud/graph.d.ts +12 -11
- package/dist/types/src/crud/graph.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +41 -0
- package/dist/types/src/errors.d.ts.map +1 -0
- package/dist/types/src/functions/agent/definitions.d.ts +61 -0
- package/dist/types/src/functions/agent/definitions.d.ts.map +1 -0
- package/dist/types/src/functions/agent/index.d.ts +3 -4
- package/dist/types/src/functions/agent/index.d.ts.map +1 -1
- package/dist/types/src/functions/agent/prompt.d.ts +2 -7
- package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
- package/dist/types/src/functions/agent/prompt.test.d.ts +2 -0
- package/dist/types/src/functions/agent/prompt.test.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +0 -6
- package/dist/types/src/functions/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/sync/sync.d.ts +3 -4
- package/dist/types/src/sync/sync.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +2 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/plugins.d.ts +19 -0
- package/dist/types/src/testing/plugins.d.ts.map +1 -0
- package/dist/types/src/toolkits/WebToolkit.d.ts +38 -0
- package/dist/types/src/toolkits/WebToolkit.d.ts.map +1 -0
- package/dist/types/src/toolkits/index.d.ts +1 -2
- package/dist/types/src/toolkits/index.d.ts.map +1 -1
- package/dist/types/src/types/Agent.d.ts +79 -0
- package/dist/types/src/types/Agent.d.ts.map +1 -0
- package/dist/types/src/types/Chat.d.ts +56 -0
- package/dist/types/src/types/Chat.d.ts.map +1 -0
- package/dist/types/src/types/McpServer.d.ts +21 -0
- package/dist/types/src/types/McpServer.d.ts.map +1 -0
- package/dist/types/src/types/Memory.d.ts +12 -0
- package/dist/types/src/types/Memory.d.ts.map +1 -0
- package/dist/types/src/types/Plan.d.ts +89 -0
- package/dist/types/src/types/Plan.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +6 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/util/graphql.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +46 -41
- package/src/blueprints/automation/blueprint.ts +105 -0
- package/src/blueprints/automation/index.ts +5 -0
- package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -0
- package/src/blueprints/blueprint-manager/blueprint.test.ts +202 -0
- package/src/blueprints/blueprint-manager/blueprint.ts +49 -0
- package/src/blueprints/blueprint-manager/functions/definitions.ts +57 -0
- package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +43 -0
- package/src/blueprints/blueprint-manager/functions/index.ts +13 -0
- package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +18 -0
- package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +18 -0
- package/src/blueprints/blueprint-manager/index.ts +6 -0
- package/src/blueprints/browser/blueprint.test.ts +61 -0
- package/src/blueprints/browser/blueprint.ts +40 -0
- package/src/blueprints/browser/index.ts +5 -0
- package/src/blueprints/database/blueprint.conversations.json +1 -0
- package/src/blueprints/database/blueprint.test.ts +531 -0
- package/src/blueprints/database/blueprint.ts +66 -0
- package/src/blueprints/database/functions/context-add.ts +24 -0
- package/src/blueprints/database/functions/context-remove.ts +24 -0
- package/src/blueprints/database/functions/definitions.ts +318 -0
- package/src/blueprints/database/functions/index.ts +23 -0
- package/src/blueprints/database/functions/load.ts +19 -0
- package/src/blueprints/database/functions/object-create.ts +38 -0
- package/src/blueprints/database/functions/object-delete.ts +20 -0
- package/src/blueprints/database/functions/object-update.ts +30 -0
- package/src/blueprints/database/functions/query.ts +63 -0
- package/src/blueprints/database/functions/relation-create.ts +34 -0
- package/src/blueprints/database/functions/relation-delete.ts +21 -0
- package/src/blueprints/database/functions/schema-add.ts +28 -0
- package/src/blueprints/database/functions/schema-list.ts +33 -0
- package/src/blueprints/database/functions/tag-add.ts +21 -0
- package/src/blueprints/database/functions/tag-remove.ts +21 -0
- package/src/blueprints/database/index.ts +21 -0
- package/src/blueprints/discord/blueprint.ts +41 -0
- package/src/blueprints/discord/functions/definitions.ts +70 -0
- package/src/blueprints/discord/functions/fetch-messages.test.ts +50 -0
- package/src/blueprints/discord/functions/fetch-messages.ts +198 -0
- package/src/blueprints/discord/functions/index.ts +9 -0
- package/src/blueprints/discord/index.ts +2 -3
- package/src/blueprints/github/functions/definitions.ts +26 -0
- package/src/blueprints/github/functions/fetch-prs.ts +24 -0
- package/src/blueprints/github/functions/index.ts +9 -0
- package/src/blueprints/github/index.ts +5 -0
- package/src/blueprints/index.ts +11 -6
- package/src/blueprints/linear/blueprint.ts +42 -0
- package/src/blueprints/linear/functions/definitions.ts +23 -0
- package/src/blueprints/linear/functions/index.ts +9 -0
- package/src/blueprints/linear/functions/linear.test.ts +57 -0
- package/src/{functions/linear → blueprints/linear/functions}/sync-issues.ts +40 -47
- package/src/blueprints/linear/index.ts +2 -3
- package/src/blueprints/memory/blueprint.conversations.json +1 -0
- package/src/blueprints/memory/blueprint.test.ts +139 -0
- package/src/blueprints/memory/blueprint.ts +41 -0
- package/src/blueprints/memory/functions/definitions.ts +68 -0
- package/src/blueprints/memory/functions/delete.ts +20 -0
- package/src/blueprints/memory/functions/index.ts +13 -0
- package/src/blueprints/memory/functions/query.ts +32 -0
- package/src/blueprints/memory/functions/save.ts +20 -0
- package/src/blueprints/memory/index.ts +6 -0
- package/src/blueprints/planning/blueprint.ts +24 -0
- package/src/blueprints/planning/functions/index.ts +9 -0
- package/src/blueprints/planning/functions/update-tasks.md +116 -0
- package/src/blueprints/planning/functions/update-tasks.test.ts +55 -0
- package/src/blueprints/planning/functions/update-tasks.ts +67 -0
- package/src/blueprints/planning/index.ts +3 -4
- package/src/blueprints/project/blueprint.conversations.json +1 -0
- package/src/blueprints/project/blueprint.test.ts +712 -0
- package/src/blueprints/project/blueprint.ts +64 -0
- package/src/blueprints/project/functions/add-artifact.ts +31 -0
- package/src/blueprints/project/functions/agent.ts +69 -0
- package/src/blueprints/project/functions/definitions.ts +92 -0
- package/src/blueprints/project/functions/get-context.ts +47 -0
- package/src/blueprints/project/functions/index.ts +14 -0
- package/src/blueprints/project/functions/qualifier.ts +90 -0
- package/src/blueprints/project/index.ts +6 -0
- package/src/blueprints/project-wizard/blueprint.ts +52 -0
- package/src/blueprints/project-wizard/functions/create-project.ts +32 -0
- package/src/blueprints/project-wizard/functions/definitions.ts +63 -0
- package/src/blueprints/project-wizard/functions/index.ts +13 -0
- package/src/blueprints/project-wizard/functions/project-rules.ts +77 -0
- package/src/blueprints/project-wizard/functions/sync-triggers.ts +153 -0
- package/src/blueprints/project-wizard/index.ts +6 -0
- package/src/blueprints/testing.ts +29 -8
- package/src/blueprints/websearch/blueprint.conversations.json +1 -0
- package/src/blueprints/websearch/blueprint.test.ts +39 -0
- package/src/blueprints/websearch/blueprint.ts +30 -0
- package/src/blueprints/websearch/functions/definitions.ts +25 -0
- package/src/blueprints/websearch/functions/fetch.ts +18 -0
- package/src/blueprints/websearch/functions/index.ts +9 -0
- package/src/blueprints/websearch/index.ts +3 -4
- package/src/blueprints/websearch/{websearch-toolkit.ts → toolkit.ts} +6 -1
- package/src/crud/graph.test.ts +13 -38
- package/src/crud/graph.ts +138 -142
- package/src/errors.ts +25 -0
- package/src/functions/READ_THIS.md +5 -0
- package/src/functions/agent/definitions.ts +56 -0
- package/src/functions/agent/index.ts +3 -5
- package/src/functions/agent/prompt.conversations.json +1 -0
- package/src/functions/agent/prompt.test.ts +78 -0
- package/src/functions/agent/prompt.ts +212 -102
- package/src/functions/index.ts +0 -6
- package/src/index.ts +2 -2
- package/src/sync/sync.ts +52 -34
- package/src/testing/index.ts +2 -1
- package/src/testing/plugins.tsx +79 -0
- package/src/toolkits/WebToolkit.ts +33 -0
- package/src/toolkits/index.ts +1 -2
- package/src/types/Agent.ts +239 -0
- package/src/types/Chat.ts +63 -0
- package/src/types/McpServer.ts +37 -0
- package/src/types/Memory.ts +24 -0
- package/src/types/Plan.ts +111 -0
- package/src/types/index.ts +9 -0
- package/dist/lib/browser/index.mjs +0 -2778
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/node-esm/index.mjs +0 -2779
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/types/src/blueprints/design/design-blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/design/design-blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/design/design-blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/design/design-blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/design/index.d.ts +0 -3
- package/dist/types/src/blueprints/design/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/discord/discord-blueprint.d.ts +0 -19
- package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +0 -19
- package/dist/types/src/blueprints/linear/linear-blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/planning-blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/planning/planning-blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/index.d.ts +0 -3
- package/dist/types/src/blueprints/research/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/research-blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/research/research-blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/research-blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/research/research-blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/websearch/websearch-toolkit.d.ts.map +0 -1
- package/dist/types/src/experimental/feed.test.d.ts +0 -2
- package/dist/types/src/experimental/feed.test.d.ts.map +0 -1
- package/dist/types/src/functions/discord/fetch-messages.d.ts.map +0 -1
- package/dist/types/src/functions/discord/fetch-messages.test.d.ts.map +0 -1
- package/dist/types/src/functions/discord/index.d.ts +0 -12
- package/dist/types/src/functions/discord/index.d.ts.map +0 -1
- package/dist/types/src/functions/document/index.d.ts +0 -13
- package/dist/types/src/functions/document/index.d.ts.map +0 -1
- package/dist/types/src/functions/document/read.d.ts +0 -7
- package/dist/types/src/functions/document/read.d.ts.map +0 -1
- package/dist/types/src/functions/document/update.d.ts +0 -6
- package/dist/types/src/functions/document/update.d.ts.map +0 -1
- package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +0 -172
- package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +0 -1
- package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts +0 -2
- package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts.map +0 -1
- package/dist/types/src/functions/entity-extraction/index.d.ts +0 -173
- package/dist/types/src/functions/entity-extraction/index.d.ts.map +0 -1
- package/dist/types/src/functions/exa/exa.d.ts +0 -5
- package/dist/types/src/functions/exa/exa.d.ts.map +0 -1
- package/dist/types/src/functions/exa/index.d.ts +0 -3
- package/dist/types/src/functions/exa/index.d.ts.map +0 -1
- package/dist/types/src/functions/exa/mock.d.ts +0 -5
- package/dist/types/src/functions/exa/mock.d.ts.map +0 -1
- package/dist/types/src/functions/github/fetch-prs.d.ts +0 -6
- package/dist/types/src/functions/github/fetch-prs.d.ts.map +0 -1
- package/dist/types/src/functions/linear/index.d.ts +0 -9
- package/dist/types/src/functions/linear/index.d.ts.map +0 -1
- package/dist/types/src/functions/linear/linear.test.d.ts.map +0 -1
- package/dist/types/src/functions/linear/sync-issues.d.ts +0 -12
- package/dist/types/src/functions/linear/sync-issues.d.ts.map +0 -1
- package/dist/types/src/functions/research/document-create.d.ts +0 -9
- package/dist/types/src/functions/research/document-create.d.ts.map +0 -1
- package/dist/types/src/functions/research/index.d.ts +0 -21
- package/dist/types/src/functions/research/index.d.ts.map +0 -1
- package/dist/types/src/functions/research/research-graph.d.ts +0 -18
- package/dist/types/src/functions/research/research-graph.d.ts.map +0 -1
- package/dist/types/src/functions/research/research.d.ts +0 -14
- package/dist/types/src/functions/research/research.d.ts.map +0 -1
- package/dist/types/src/functions/research/research.test.d.ts +0 -2
- package/dist/types/src/functions/research/research.test.d.ts.map +0 -1
- package/dist/types/src/functions/research/types.d.ts +0 -6
- package/dist/types/src/functions/research/types.d.ts.map +0 -1
- package/dist/types/src/functions/tasks/index.d.ts +0 -15
- package/dist/types/src/functions/tasks/index.d.ts.map +0 -1
- package/dist/types/src/functions/tasks/read.d.ts +0 -7
- package/dist/types/src/functions/tasks/read.d.ts.map +0 -1
- package/dist/types/src/functions/tasks/task-list.d.ts +0 -74
- package/dist/types/src/functions/tasks/task-list.d.ts.map +0 -1
- package/dist/types/src/functions/tasks/task-list.test.d.ts +0 -2
- package/dist/types/src/functions/tasks/task-list.test.d.ts.map +0 -1
- package/dist/types/src/functions/tasks/update.d.ts +0 -9
- package/dist/types/src/functions/tasks/update.d.ts.map +0 -1
- package/dist/types/src/plugins.d.ts +0 -19
- package/dist/types/src/plugins.d.ts.map +0 -1
- package/dist/types/src/testing/data/exa-search-1748337321991.d.ts +0 -38
- package/dist/types/src/testing/data/exa-search-1748337321991.d.ts.map +0 -1
- package/dist/types/src/testing/data/exa-search-1748337331526.d.ts +0 -37
- package/dist/types/src/testing/data/exa-search-1748337331526.d.ts.map +0 -1
- package/dist/types/src/testing/data/exa-search-1748337344119.d.ts +0 -58
- package/dist/types/src/testing/data/exa-search-1748337344119.d.ts.map +0 -1
- package/dist/types/src/testing/data/index.d.ts +0 -3
- package/dist/types/src/testing/data/index.d.ts.map +0 -1
- package/dist/types/src/toolkits/AssistantToolkit.d.ts +0 -17
- package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +0 -1
- package/dist/types/src/toolkits/AssistantToolkit.test.d.ts +0 -2
- package/dist/types/src/toolkits/AssistantToolkit.test.d.ts.map +0 -1
- package/dist/types/src/toolkits/SystemToolkit.d.ts +0 -67
- package/dist/types/src/toolkits/SystemToolkit.d.ts.map +0 -1
- package/src/blueprints/design/design-blueprint.test.ts +0 -103
- package/src/blueprints/design/design-blueprint.ts +0 -33
- package/src/blueprints/design/index.ts +0 -7
- package/src/blueprints/discord/discord-blueprint.ts +0 -34
- package/src/blueprints/linear/linear-blueprint.ts +0 -35
- package/src/blueprints/planning/planning-blueprint.test.ts +0 -124
- package/src/blueprints/planning/planning-blueprint.ts +0 -98
- package/src/blueprints/research/index.ts +0 -7
- package/src/blueprints/research/research-blueprint.test.ts +0 -7
- package/src/blueprints/research/research-blueprint.ts +0 -53
- package/src/blueprints/websearch/websearch-blueprint.ts +0 -20
- package/src/experimental/feed.test.ts +0 -111
- package/src/functions/discord/fetch-messages.test.ts +0 -58
- package/src/functions/discord/fetch-messages.ts +0 -252
- package/src/functions/discord/index.ts +0 -9
- package/src/functions/document/index.ts +0 -12
- package/src/functions/document/read.ts +0 -29
- package/src/functions/document/update.ts +0 -30
- package/src/functions/entity-extraction/entity-extraction.conversations.json +0 -1
- package/src/functions/entity-extraction/entity-extraction.test.ts +0 -92
- package/src/functions/entity-extraction/entity-extraction.ts +0 -164
- package/src/functions/entity-extraction/index.ts +0 -9
- package/src/functions/exa/exa.ts +0 -37
- package/src/functions/exa/index.ts +0 -6
- package/src/functions/exa/mock.ts +0 -71
- package/src/functions/github/fetch-prs.ts +0 -30
- package/src/functions/linear/index.ts +0 -9
- package/src/functions/linear/linear.test.ts +0 -83
- package/src/functions/research/document-create.ts +0 -75
- package/src/functions/research/index.ts +0 -14
- package/src/functions/research/research-graph.ts +0 -49
- package/src/functions/research/research-instructions.tpl +0 -106
- package/src/functions/research/research.conversations.json +0 -1
- package/src/functions/research/research.test.ts +0 -179
- package/src/functions/research/research.ts +0 -190
- package/src/functions/research/types.ts +0 -26
- package/src/functions/tasks/index.ts +0 -11
- package/src/functions/tasks/read.ts +0 -34
- package/src/functions/tasks/task-list.test.ts +0 -99
- package/src/functions/tasks/task-list.ts +0 -165
- package/src/functions/tasks/update.ts +0 -52
- package/src/plugins.tsx +0 -68
- package/src/testing/data/exa-search-1748337321991.ts +0 -131
- package/src/testing/data/exa-search-1748337331526.ts +0 -144
- package/src/testing/data/exa-search-1748337344119.ts +0 -133
- package/src/testing/data/index.ts +0 -11
- package/src/toolkits/AssistantToolkit.conversations.json +0 -1
- package/src/toolkits/AssistantToolkit.test.ts +0 -88
- package/src/toolkits/AssistantToolkit.ts +0 -47
- package/src/toolkits/SystemToolkit.ts +0 -231
- /package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.test.d.ts +0 -0
- /package/dist/types/src/{functions/linear → blueprints/linear/functions}/linear.test.d.ts +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/blueprint-manager/functions/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiContext } from '@dxos/assistant';\nimport { Blueprint, Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\n\nexport const QueryBlueprints = Operation.make({\n meta: {\n key: 'org.dxos.function.blueprint-manager.query-blueprints',\n name: 'Query blueprints',\n description: 'Queries available blueprints.',\n },\n input: Schema.Struct({}),\n output: Schema.Array(Blueprint.Blueprint),\n services: [Blueprint.RegistryService],\n});\n\nexport const EnableBlueprints = Operation.make({\n meta: {\n key: 'org.dxos.function.blueprint-manager.enable-blueprints',\n name: 'Enable blueprints',\n description:\n 'Enables blueprints in the current conversation by their keys. Only blueprints with agentCanEnable=true can be enabled. Always call [query-blueprints] first to discover available blueprint keys.',\n },\n input: Schema.Struct({\n keys: Schema.Array(Schema.String).annotations({\n description: 'The keys of the blueprints to enable.',\n examples: [['org.dxos.blueprint.memory', 'org.dxos.blueprint.database']],\n }),\n }),\n output: Schema.Struct({\n enabled: Schema.Array(Blueprint.Blueprint),\n rejected: Schema.Array(\n Schema.Struct({\n key: Schema.String,\n reason: Schema.String,\n }),\n ),\n }),\n services: [Blueprint.RegistryService, Database.Service, AiContext.Service],\n});\n\nexport const UpdateBlueprints = Operation.make({\n meta: {\n key: 'org.dxos.function.blueprint-manager.refresh-blueprints',\n name: 'Refresh blueprints',\n description:\n 'Updates the blueprints saved to the database with the latest version from the registry. Sometimes blueprints in the database can become outdated. Use this function to pull in the latest versions.',\n },\n input: Schema.Struct({}),\n output: Schema.Void,\n services: [Blueprint.RegistryService, Database.Service],\n});\n"],
|
|
5
|
+
"mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,WAAWC,iBAAiB;AACrC,SAASC,gBAAgB;AAElB,IAAMC,kBAAkBF,UAAUG,KAAK;EAC5CC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO,CAAC,CAAA;EACtBC,QAAeC,aAAMZ,UAAUA,SAAS;EACxCa,UAAU;IAACb,UAAUc;;AACvB,CAAA;AAEO,IAAMC,mBAAmBd,UAAUG,KAAK;EAC7CC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO;IACnBM,MAAaJ,aAAaK,aAAM,EAAEC,YAAY;MAC5CV,aAAa;MACbW,UAAU;QAAC;UAAC;UAA6B;;;IAC3C,CAAA;EACF,CAAA;EACAR,QAAeD,cAAO;IACpBU,SAAgBR,aAAMZ,UAAUA,SAAS;IACzCqB,UAAiBT,aACRF,cAAO;MACZJ,KAAYW;MACZK,QAAeL;IACjB,CAAA,CAAA;EAEJ,CAAA;EACAJ,UAAU;IAACb,UAAUc;IAAiBZ,SAASqB;IAASxB,UAAUwB;;AACpE,CAAA;AAEO,IAAMC,mBAAmBvB,UAAUG,KAAK;EAC7CC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO,CAAC,CAAA;EACtBC,QAAec;EACfZ,UAAU;IAACb,UAAUc;IAAiBZ,SAASqB;;AACjD,CAAA;",
|
|
6
|
+
"names": ["Schema", "AiContext", "Blueprint", "Operation", "Database", "QueryBlueprints", "make", "meta", "key", "name", "description", "input", "Struct", "output", "Array", "services", "RegistryService", "EnableBlueprints", "keys", "String", "annotations", "examples", "enabled", "rejected", "reason", "Service", "UpdateBlueprints", "Void"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Chat,
|
|
3
|
+
CompanionTo,
|
|
4
|
+
make
|
|
5
|
+
} from "./chunk-NR3GTWRC.mjs";
|
|
6
|
+
import {
|
|
7
|
+
__export
|
|
8
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
9
|
+
|
|
10
|
+
// src/types/Plan.ts
|
|
11
|
+
var Plan_exports = {};
|
|
12
|
+
__export(Plan_exports, {
|
|
13
|
+
Plan: () => Plan,
|
|
14
|
+
Task: () => Task,
|
|
15
|
+
TaskId: () => TaskId,
|
|
16
|
+
addTasks: () => addTasks,
|
|
17
|
+
formatPlan: () => formatPlan,
|
|
18
|
+
generateTaskId: () => generateTaskId,
|
|
19
|
+
makePlan: () => makePlan
|
|
20
|
+
});
|
|
21
|
+
import * as Schema from "effect/Schema";
|
|
22
|
+
import { Annotation, Obj, Ref, Type } from "@dxos/echo";
|
|
23
|
+
var TaskId = Schema.String.pipe(Schema.brand("@dxos/assistant-toolkit/TaskId"));
|
|
24
|
+
var Task = Schema.Struct({
|
|
25
|
+
/**
|
|
26
|
+
* Short task ID unique within the plan.
|
|
27
|
+
*/
|
|
28
|
+
id: TaskId,
|
|
29
|
+
title: Schema.String.annotations({
|
|
30
|
+
description: "Task title and description."
|
|
31
|
+
}),
|
|
32
|
+
status: Schema.Literal("todo", "in-progress", "done"),
|
|
33
|
+
/**
|
|
34
|
+
* Parent task ID.
|
|
35
|
+
*/
|
|
36
|
+
parent: Schema.optional(TaskId).annotations({
|
|
37
|
+
description: "Parent task ID."
|
|
38
|
+
}),
|
|
39
|
+
/**
|
|
40
|
+
* Chat object that this task is associated with.
|
|
41
|
+
*/
|
|
42
|
+
chat: Schema.optional(Ref.Ref(Chat))
|
|
43
|
+
});
|
|
44
|
+
var Plan = Schema.Struct({
|
|
45
|
+
tasks: Schema.Array(Task)
|
|
46
|
+
}).pipe(Type.object({
|
|
47
|
+
typename: "org.dxos.type.plan",
|
|
48
|
+
version: "0.1.0"
|
|
49
|
+
}), Annotation.SystemTypeAnnotation.set(true));
|
|
50
|
+
var generateTaskId = (plan) => {
|
|
51
|
+
const existingIds = plan.tasks.map((task) => {
|
|
52
|
+
const [num, letter] = task.id.split("-");
|
|
53
|
+
return parseInt(num);
|
|
54
|
+
}).filter((_) => !isNaN(_));
|
|
55
|
+
let newId;
|
|
56
|
+
if (existingIds.length === 0) {
|
|
57
|
+
newId = 1;
|
|
58
|
+
} else {
|
|
59
|
+
newId = Math.max(...existingIds) + 1;
|
|
60
|
+
}
|
|
61
|
+
return TaskId.make(`${newId}-${crypto.randomUUID().slice(0, 2)}`);
|
|
62
|
+
};
|
|
63
|
+
var addTasks = (plan, tasks) => {
|
|
64
|
+
for (const task of tasks) {
|
|
65
|
+
const taskId = generateTaskId(plan);
|
|
66
|
+
plan.tasks.push({
|
|
67
|
+
id: taskId,
|
|
68
|
+
...task,
|
|
69
|
+
status: task.status ?? "todo"
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return plan;
|
|
73
|
+
};
|
|
74
|
+
var makePlan = (props) => {
|
|
75
|
+
const plan = Obj.make(Plan, {
|
|
76
|
+
tasks: []
|
|
77
|
+
});
|
|
78
|
+
Obj.update(plan, (plan2) => {
|
|
79
|
+
addTasks(plan2, props.tasks);
|
|
80
|
+
});
|
|
81
|
+
return plan;
|
|
82
|
+
};
|
|
83
|
+
var formatPlan = (plan) => {
|
|
84
|
+
return plan.tasks.map((task) => `- **${task.status?.toLocaleUpperCase()}**: ${task.title ?? "No title"} <!-- id=${task.id} -->`).join("\n");
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
// src/types/Agent.ts
|
|
88
|
+
var Agent_exports = {};
|
|
89
|
+
__export(Agent_exports, {
|
|
90
|
+
Agent: () => Agent,
|
|
91
|
+
getFromChatContext: () => getFromChatContext,
|
|
92
|
+
makeInitialized: () => makeInitialized,
|
|
93
|
+
resetChatHistory: () => resetChatHistory
|
|
94
|
+
});
|
|
95
|
+
import * as Effect from "effect/Effect";
|
|
96
|
+
import * as Function from "effect/Function";
|
|
97
|
+
import * as Schema2 from "effect/Schema";
|
|
98
|
+
import { AiContext } from "@dxos/assistant";
|
|
99
|
+
import { Annotation as Annotation2, Database, Feed, Format, Obj as Obj2, Ref as Ref2, Relation, Type as Type2 } from "@dxos/echo";
|
|
100
|
+
import { FormInputAnnotation } from "@dxos/echo/internal";
|
|
101
|
+
import { acquireReleaseResource } from "@dxos/effect";
|
|
102
|
+
import { invariant } from "@dxos/invariant";
|
|
103
|
+
import { Text } from "@dxos/schema";
|
|
104
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/types/Agent.ts";
|
|
105
|
+
var Agent = Schema2.Struct({
|
|
106
|
+
name: Schema2.optional(Schema2.String),
|
|
107
|
+
/**
|
|
108
|
+
* When false, agent triggers are disabled after sync-triggers runs.
|
|
109
|
+
*/
|
|
110
|
+
enabled: Schema2.optional(Schema2.Boolean).annotations({
|
|
111
|
+
title: "Enabled",
|
|
112
|
+
description: "Master switch for agent automation; propagated to all triggers on sync."
|
|
113
|
+
}),
|
|
114
|
+
/**
|
|
115
|
+
* Instructions for the agent.
|
|
116
|
+
*/
|
|
117
|
+
instructions: Ref2.Ref(Text.Text).pipe(Format.FormatAnnotation.set(Format.TypeFormat.Markdown), Schema2.annotations({
|
|
118
|
+
title: "Instructions"
|
|
119
|
+
})),
|
|
120
|
+
/**
|
|
121
|
+
* Primary chat for the agent.
|
|
122
|
+
*/
|
|
123
|
+
// TODO(dmaretskyi): Multiple chats; RB: branching hierarchy.
|
|
124
|
+
chat: Schema2.optional(Ref2.Ref(Chat).pipe(FormInputAnnotation.set(false))),
|
|
125
|
+
// TODO(burdon): Is this used? Should it be an artifact?
|
|
126
|
+
// Format.FormatAnnotation.set(Format.TypeFormat.Markdown)
|
|
127
|
+
plan: Ref2.Ref(Plan).pipe(FormInputAnnotation.set(false)),
|
|
128
|
+
// TODO(burdon): Currently Memory.Memory objects are global to the space; make them artifacts?
|
|
129
|
+
artifacts: Schema2.Array(Schema2.Struct({
|
|
130
|
+
// TODO(dmaretskyi): Consider gettings names from the artifact itself using Obj.getLabel.
|
|
131
|
+
name: Schema2.String,
|
|
132
|
+
// TODO(burdon): Rename object.
|
|
133
|
+
data: Ref2.Ref(Obj2.Unknown)
|
|
134
|
+
})).pipe(FormInputAnnotation.set(false)),
|
|
135
|
+
/**
|
|
136
|
+
* References to objects with a canonical queue property.
|
|
137
|
+
* Schema must have the QueueAnnotation.
|
|
138
|
+
*/
|
|
139
|
+
// Change to trigger.
|
|
140
|
+
// TODO(dmaretskyi): Turn into an array of objects when form-data
|
|
141
|
+
subscriptions: Schema2.Array(Ref2.Ref(Obj2.Unknown)).pipe(FormInputAnnotation.set(false)),
|
|
142
|
+
/**
|
|
143
|
+
* Cron expression for a timer trigger that invokes the agent worker on a schedule.
|
|
144
|
+
* The timer trigger bypasses the qualifier and goes straight to the agent worker.
|
|
145
|
+
*/
|
|
146
|
+
// Change to trigger.
|
|
147
|
+
cron: Schema2.optional(Schema2.String).annotations({
|
|
148
|
+
title: "Cron",
|
|
149
|
+
description: "Cron expression for a timer trigger that invokes the agent on a schedule."
|
|
150
|
+
}),
|
|
151
|
+
/**
|
|
152
|
+
* Allow the agent to filter events.
|
|
153
|
+
* Related events will be added to the input queue of the agent.
|
|
154
|
+
* It is recommended to enable this.
|
|
155
|
+
* @deprecated
|
|
156
|
+
*/
|
|
157
|
+
filterEvents: Schema2.optional(Schema2.Boolean).annotations({
|
|
158
|
+
title: "Filter events",
|
|
159
|
+
description: "Allow the agent to filter events."
|
|
160
|
+
}),
|
|
161
|
+
/**
|
|
162
|
+
* Input feed for subscriptions.
|
|
163
|
+
* @deprecated Subscriptions will write directly to the agent.
|
|
164
|
+
*/
|
|
165
|
+
feed: Schema2.optional(Ref2.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)))
|
|
166
|
+
}).pipe(Type2.object({
|
|
167
|
+
typename: "org.dxos.type.agent",
|
|
168
|
+
version: "0.1.0"
|
|
169
|
+
}), Annotation2.LabelAnnotation.set([
|
|
170
|
+
"name"
|
|
171
|
+
]), Annotation2.IconAnnotation.set({
|
|
172
|
+
icon: "ph--drone--regular",
|
|
173
|
+
hue: "sky"
|
|
174
|
+
}));
|
|
175
|
+
var makeInitialized = (props, blueprint) => Effect.gen(function* () {
|
|
176
|
+
const agent = yield* Database.add(Obj2.make(Agent, {
|
|
177
|
+
...props,
|
|
178
|
+
instructions: Ref2.make(Text.make({
|
|
179
|
+
content: props.instructions
|
|
180
|
+
})),
|
|
181
|
+
plan: Ref2.make(makePlan({
|
|
182
|
+
tasks: []
|
|
183
|
+
})),
|
|
184
|
+
artifacts: props.artifacts ?? [],
|
|
185
|
+
subscriptions: props.subscriptions ?? [],
|
|
186
|
+
filterEvents: props.filterEvents ?? true,
|
|
187
|
+
enabled: props.enabled ?? true
|
|
188
|
+
}));
|
|
189
|
+
const feed = yield* Database.add(Feed.make());
|
|
190
|
+
const runtime2 = yield* Effect.runtime();
|
|
191
|
+
const contextBinder = new AiContext.Binder({
|
|
192
|
+
feed,
|
|
193
|
+
runtime: runtime2
|
|
194
|
+
});
|
|
195
|
+
const agentBlueprint = yield* Database.add(Obj2.clone(blueprint, {
|
|
196
|
+
deep: true
|
|
197
|
+
}));
|
|
198
|
+
yield* Effect.promise(() => contextBinder.bind({
|
|
199
|
+
blueprints: [
|
|
200
|
+
Ref2.make(agentBlueprint),
|
|
201
|
+
...props.blueprints ?? []
|
|
202
|
+
],
|
|
203
|
+
objects: [
|
|
204
|
+
Ref2.make(agent),
|
|
205
|
+
...props.contextObjects ?? []
|
|
206
|
+
]
|
|
207
|
+
}));
|
|
208
|
+
const chat = yield* Database.add(make({
|
|
209
|
+
[Obj2.Parent]: agent,
|
|
210
|
+
feed: Ref2.make(feed)
|
|
211
|
+
}));
|
|
212
|
+
Obj2.setParent(feed, chat);
|
|
213
|
+
yield* Database.add(Relation.make(CompanionTo, {
|
|
214
|
+
[Relation.Source]: chat,
|
|
215
|
+
[Relation.Target]: agent
|
|
216
|
+
}));
|
|
217
|
+
const inputFeed = yield* Database.add(Feed.make());
|
|
218
|
+
Obj2.update(agent, (agent2) => {
|
|
219
|
+
agent2.chat = Ref2.make(chat);
|
|
220
|
+
agent2.feed = Ref2.make(inputFeed);
|
|
221
|
+
});
|
|
222
|
+
return agent;
|
|
223
|
+
});
|
|
224
|
+
var resetChatHistory = (agent) => Effect.gen(function* () {
|
|
225
|
+
invariant(agent.chat, "Agent must have an existing chat to reset.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 144, S: this, A: ["agent.chat", "'Agent must have an existing chat to reset.'"] });
|
|
226
|
+
const existingFeed = yield* agent.chat.pipe(Database.load).pipe(Effect.map((_) => _.feed), Effect.flatMap(Database.load));
|
|
227
|
+
const runtime2 = yield* Effect.runtime();
|
|
228
|
+
const existingContextBinder = yield* acquireReleaseResource(() => new AiContext.Binder({
|
|
229
|
+
feed: existingFeed,
|
|
230
|
+
runtime: runtime2
|
|
231
|
+
}));
|
|
232
|
+
const blueprints = existingContextBinder.getBlueprints().map((blueprint) => Ref2.make(blueprint));
|
|
233
|
+
const objects = existingContextBinder.getObjects().map((object) => Ref2.make(object));
|
|
234
|
+
const feed = yield* Database.add(Feed.make());
|
|
235
|
+
const contextBinder = new AiContext.Binder({
|
|
236
|
+
feed,
|
|
237
|
+
runtime: runtime2
|
|
238
|
+
});
|
|
239
|
+
yield* Effect.promise(() => contextBinder.bind({
|
|
240
|
+
blueprints,
|
|
241
|
+
objects
|
|
242
|
+
}));
|
|
243
|
+
const chat = yield* Database.add(make({
|
|
244
|
+
feed: Ref2.make(feed)
|
|
245
|
+
}));
|
|
246
|
+
Obj2.setParent(feed, chat);
|
|
247
|
+
Obj2.update(agent, (agent2) => {
|
|
248
|
+
agent2.chat = Ref2.make(chat);
|
|
249
|
+
});
|
|
250
|
+
yield* Database.add(Relation.make(CompanionTo, {
|
|
251
|
+
[Relation.Source]: chat,
|
|
252
|
+
[Relation.Target]: agent
|
|
253
|
+
}));
|
|
254
|
+
}).pipe(Effect.scoped);
|
|
255
|
+
var getFromChatContext = Effect.gen(function* () {
|
|
256
|
+
const agents = yield* Function.pipe(AiContext.Service.findObjects(Agent));
|
|
257
|
+
if (agents.length !== 1) {
|
|
258
|
+
return yield* Effect.fail(new Error(`There should be exactly one agent in context. Got: ${agents.length}`));
|
|
259
|
+
}
|
|
260
|
+
const agent = agents[0];
|
|
261
|
+
return agent;
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
// src/types/McpServer.ts
|
|
265
|
+
var McpServer_exports = {};
|
|
266
|
+
__export(McpServer_exports, {
|
|
267
|
+
McpServer: () => McpServer
|
|
268
|
+
});
|
|
269
|
+
import * as Schema3 from "effect/Schema";
|
|
270
|
+
import { McpServer as McpServerSpec } from "@dxos/compute";
|
|
271
|
+
import { Annotation as Annotation3, Type as Type3 } from "@dxos/echo";
|
|
272
|
+
import { LabelAnnotation } from "@dxos/echo/internal";
|
|
273
|
+
var McpServer = Schema3.Struct({
|
|
274
|
+
...McpServerSpec.McpServer.fields,
|
|
275
|
+
enabled: Schema3.optional(Schema3.Boolean)
|
|
276
|
+
}).pipe(Type3.object({
|
|
277
|
+
typename: "org.dxos.type.assistant.mcpServer",
|
|
278
|
+
version: "0.1.0"
|
|
279
|
+
}), LabelAnnotation.set([
|
|
280
|
+
"name"
|
|
281
|
+
]), Annotation3.IconAnnotation.set({
|
|
282
|
+
icon: "ph--plugs-connected--regular",
|
|
283
|
+
hue: "sky"
|
|
284
|
+
}));
|
|
285
|
+
|
|
286
|
+
export {
|
|
287
|
+
Plan_exports,
|
|
288
|
+
Agent_exports,
|
|
289
|
+
McpServer_exports
|
|
290
|
+
};
|
|
291
|
+
//# sourceMappingURL=chunk-BALMVGVP.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Plan.ts", "../../../src/types/Agent.ts", "../../../src/types/McpServer.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Obj, Ref, Type } from '@dxos/echo';\n\nimport * as Chat from './Chat';\n\nexport const TaskId = Schema.String.pipe(Schema.brand('@dxos/assistant-toolkit/TaskId'));\nexport type TaskId = Schema.Schema.Type<typeof TaskId>;\n\nexport const Task = Schema.Struct({\n /**\n * Short task ID unique within the plan.\n */\n id: TaskId,\n\n title: Schema.String.annotations({\n description: 'Task title and description.',\n }),\n\n status: Schema.Literal('todo', 'in-progress', 'done'),\n\n /**\n * Parent task ID.\n */\n parent: Schema.optional(TaskId).annotations({\n description: 'Parent task ID.',\n }),\n\n /**\n * Chat object that this task is associated with.\n */\n chat: Schema.optional(Ref.Ref(Chat.Chat)),\n});\n\nexport interface Task extends Schema.Schema.Type<typeof Task> {}\n\n/**\n * Hierarchical collection of tasks for humans and agents to track progress.\n */\nexport const Plan = Schema.Struct({\n tasks: Schema.Array(Task),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.plan',\n version: '0.1.0',\n }),\n Annotation.SystemTypeAnnotation.set(true),\n);\nexport interface Plan extends Schema.Schema.Type<typeof Plan> {}\n\nexport const generateTaskId = (plan: Plan): TaskId => {\n const existingIds = plan.tasks\n .map((task) => {\n const [num, letter] = task.id.split('-');\n return parseInt(num);\n })\n .filter((_) => !isNaN(_));\n let newId;\n if (existingIds.length === 0) {\n newId = 1;\n } else {\n newId = Math.max(...existingIds) + 1;\n }\n // Add random suffix to avoid collisions.\n return TaskId.make(`${newId}-${crypto.randomUUID().slice(0, 2)}`);\n};\n\n/**\n * Add new tasks to a plan, generating IDs for new tasks.\n * Use inside an `Obj.update` callback.\n */\nexport const addTasks = (\n plan: Obj.Mutable<Plan>,\n tasks: (Pick<Task, 'title'> & Partial<Pick<Task, 'status' | 'parent' | 'chat'>>)[],\n) => {\n for (const task of tasks) {\n const taskId = generateTaskId(plan);\n plan.tasks.push({ id: taskId, ...task, status: task.status ?? 'todo' });\n }\n return plan;\n};\n\ninterface MakePlanProps {\n tasks: {\n title: string;\n status?: 'todo' | 'in-progress' | 'done';\n }[];\n}\n\nexport const makePlan = (props: MakePlanProps): Plan => {\n const plan = Obj.make(Plan, { tasks: [] });\n Obj.update(plan, (plan) => {\n addTasks(plan, props.tasks);\n });\n return plan;\n};\n\n/**\n * Formats plan to markdown format.\n */\nexport const formatPlan = (plan: Plan): string => {\n return plan.tasks\n .map((task) => `- **${task.status?.toLocaleUpperCase()}**: ${task.title ?? 'No title'} <!-- id=${task.id} -->`)\n .join('\\n');\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { AiContext } from '@dxos/assistant';\nimport { type Blueprint } from '@dxos/compute';\nimport { Annotation, Database, Feed, Format, Obj, Ref, Relation, Type } from '@dxos/echo';\nimport { type ObjectNotFoundError } from '@dxos/echo/Err';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { Text } from '@dxos/schema';\n\nimport * as Chat from './Chat';\nimport * as Plan from './Plan';\n\n/**\n * Agent schema definition.\n */\nexport const Agent = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n /**\n * When false, agent triggers are disabled after sync-triggers runs.\n */\n enabled: Schema.optional(Schema.Boolean).annotations({\n title: 'Enabled',\n description: 'Master switch for agent automation; propagated to all triggers on sync.',\n }),\n\n /**\n * Instructions for the agent.\n */\n instructions: Ref.Ref(Text.Text).pipe(\n Format.FormatAnnotation.set(Format.TypeFormat.Markdown),\n Schema.annotations({ title: 'Instructions' }),\n ),\n\n /**\n * Primary chat for the agent.\n */\n // TODO(dmaretskyi): Multiple chats; RB: branching hierarchy.\n chat: Schema.optional(Ref.Ref(Chat.Chat).pipe(FormInputAnnotation.set(false))),\n\n // TODO(burdon): Is this used? Should it be an artifact?\n // Format.FormatAnnotation.set(Format.TypeFormat.Markdown)\n plan: Ref.Ref(Plan.Plan).pipe(FormInputAnnotation.set(false)),\n\n // TODO(burdon): Currently Memory.Memory objects are global to the space; make them artifacts?\n artifacts: Schema.Array(\n Schema.Struct({\n // TODO(dmaretskyi): Consider gettings names from the artifact itself using Obj.getLabel.\n name: Schema.String,\n // TODO(burdon): Rename object.\n data: Ref.Ref(Obj.Unknown),\n }),\n ).pipe(FormInputAnnotation.set(false)),\n\n /**\n * References to objects with a canonical queue property.\n * Schema must have the QueueAnnotation.\n */\n // Change to trigger.\n // TODO(dmaretskyi): Turn into an array of objects when form-data\n subscriptions: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(FormInputAnnotation.set(false)),\n\n /**\n * Cron expression for a timer trigger that invokes the agent worker on a schedule.\n * The timer trigger bypasses the qualifier and goes straight to the agent worker.\n */\n // Change to trigger.\n cron: Schema.optional(Schema.String).annotations({\n title: 'Cron',\n description: 'Cron expression for a timer trigger that invokes the agent on a schedule.',\n }),\n\n /**\n * Allow the agent to filter events.\n * Related events will be added to the input queue of the agent.\n * It is recommended to enable this.\n * @deprecated\n */\n filterEvents: Schema.optional(Schema.Boolean).annotations({\n title: 'Filter events',\n description: 'Allow the agent to filter events.',\n }),\n\n /**\n * Input feed for subscriptions.\n * @deprecated Subscriptions will write directly to the agent.\n */\n feed: Schema.optional(Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false))),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.agent',\n version: '0.1.0',\n }),\n Annotation.LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({\n icon: 'ph--drone--regular',\n hue: 'sky',\n }),\n);\n\nexport interface Agent extends Schema.Schema.Type<typeof Agent> {}\n\n/**\n * Creates a fully initialized Agent with chat, queue, and context bindings.\n *\n * @param props - Agent properties including spec, plan, blueprints, and context objects.\n * @param blueprint - The blueprint to use for the agent context.\n * @returns An Effect that yields the initialized Agent.\n */\nexport const makeInitialized = (\n props: Omit<Obj.MakeProps<typeof Agent>, 'instructions' | 'plan' | 'artifacts' | 'subscriptions' | 'chat'> &\n Partial<Pick<Obj.MakeProps<typeof Agent>, 'artifacts' | 'subscriptions'>> & {\n instructions: string;\n blueprints?: Ref.Ref<Blueprint.Blueprint>[];\n contextObjects?: Ref.Ref<Obj.Any>[];\n },\n blueprint: Blueprint.Blueprint,\n): Effect.Effect<Agent, never, Feed.FeedService | Database.Service> =>\n Effect.gen(function* () {\n const agent = yield* Database.add(\n Obj.make(Agent, {\n ...props,\n instructions: Ref.make(Text.make({ content: props.instructions })),\n plan: Ref.make(Plan.makePlan({ tasks: [] })),\n artifacts: props.artifacts ?? [],\n subscriptions: props.subscriptions ?? [],\n filterEvents: props.filterEvents ?? true,\n enabled: props.enabled ?? true,\n }),\n );\n const feed = yield* Database.add(Feed.make());\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const contextBinder = new AiContext.Binder({ feed, runtime });\n // TODO(dmaretskyi): Blueprint registry.\n const agentBlueprint = yield* Database.add(Obj.clone(blueprint, { deep: true }));\n yield* Effect.promise(() =>\n contextBinder.bind({\n blueprints: [Ref.make(agentBlueprint), ...(props.blueprints ?? [])],\n objects: [Ref.make(agent), ...(props.contextObjects ?? [])],\n }),\n );\n const chat = yield* Database.add(\n Chat.make({\n [Obj.Parent]: agent,\n feed: Ref.make(feed),\n }),\n );\n Obj.setParent(feed, chat);\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n\n const inputFeed = yield* Database.add(Feed.make());\n\n Obj.update(agent, (agent) => {\n agent.chat = Ref.make(chat);\n agent.feed = Ref.make(inputFeed);\n });\n\n return agent;\n });\n\n/**\n * Resets the agent chat history by rebuilding the chat context.\n * Preserves the existing blueprints and objects from the current chat context.\n *\n * @param agent - The agent whose chat history should be reset. Must have an existing chat.\n * @returns An Effect that resets the chat history.\n */\nexport const resetChatHistory = (\n agent: Agent,\n): Effect.Effect<void, ObjectNotFoundError, Feed.FeedService | Database.Service> =>\n Effect.gen(function* () {\n invariant(agent.chat, 'Agent must have an existing chat to reset.');\n\n const existingFeed = yield* agent.chat.pipe(Database.load).pipe(\n Effect.map((_) => _.feed),\n Effect.flatMap(Database.load),\n );\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const existingContextBinder = yield* acquireReleaseResource(\n () =>\n new AiContext.Binder({\n feed: existingFeed,\n runtime,\n }),\n );\n const blueprints = existingContextBinder.getBlueprints().map((blueprint) => Ref.make(blueprint));\n const objects = existingContextBinder.getObjects().map((object) => Ref.make(object));\n\n const feed = yield* Database.add(Feed.make());\n const contextBinder = new AiContext.Binder({ feed, runtime });\n yield* Effect.promise(() =>\n contextBinder.bind({\n blueprints,\n objects,\n }),\n );\n\n const chat = yield* Database.add(\n Chat.make({\n feed: Ref.make(feed),\n }),\n );\n Obj.setParent(feed, chat);\n Obj.update(agent, (agent) => {\n agent.chat = Ref.make(chat);\n });\n\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n }).pipe(Effect.scoped);\n\nexport const getFromChatContext: Effect.Effect<Agent, Error, AiContext.Service> = Effect.gen(function* () {\n const agents = yield* Function.pipe(AiContext.Service.findObjects(Agent));\n if (agents.length !== 1) {\n return yield* Effect.fail(new Error(`There should be exactly one agent in context. Got: ${agents.length}`));\n }\n\n const agent = agents[0];\n return agent;\n});\n", "//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { McpServer as McpServerSpec } from '@dxos/compute';\nimport { Annotation, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo/internal';\n\n/**\n * MCP server configuration stored as a space-level ECHO object.\n *\n * Composes the canonical connection spec from `@dxos/compute` (`url`, `protocol`, `apiKey`)\n * and adds instance-level fields (`name`, `enabled`) plus ECHO annotations.\n *\n * NOTE: `apiKey` is stored in plaintext and replicated to all peers with access to the space.\n * A future iteration should move secrets to per-device credential storage or use envelope encryption.\n */\nexport const McpServer = Schema.Struct({\n ...McpServerSpec.McpServer.fields,\n enabled: Schema.optional(Schema.Boolean),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.assistant.mcpServer',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({\n icon: 'ph--plugs-connected--regular',\n hue: 'sky',\n }),\n);\n\nexport interface McpServer extends Schema.Schema.Type<typeof McpServer> {}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "Annotation", "Obj", "Ref", "Type", "TaskId", "String", "pipe", "brand", "Task", "Struct", "id", "title", "annotations", "description", "status", "Literal", "parent", "optional", "chat", "Ref", "Chat", "Plan", "tasks", "Array", "Type", "object", "typename", "version", "Annotation", "SystemTypeAnnotation", "set", "generateTaskId", "plan", "existingIds", "map", "task", "num", "letter", "split", "parseInt", "filter", "_", "isNaN", "newId", "length", "Math", "max", "make", "crypto", "randomUUID", "slice", "addTasks", "taskId", "push", "makePlan", "props", "Obj", "update", "formatPlan", "toLocaleUpperCase", "join", "Effect", "Function", "Schema", "AiContext", "Annotation", "Database", "Feed", "Format", "Obj", "Ref", "Relation", "Type", "FormInputAnnotation", "acquireReleaseResource", "invariant", "Text", "Ref", "artifacts", "Array", "Schema", "String", "data", "Obj", "description", "typename", "version", "Annotation", "IconAnnotation", "set", "icon", "hue", "props", "instructions", "Text", "make", "plan", "Plan", "subscriptions", "filterEvents", "enabled", "add", "contextBinder", "AiContext", "Binder", "feed", "runtime", "Effect", "agentBlueprint", "objects", "chat", "setParent", "Source", "Relation", "Target", "agent", "inputFeed", "existingFeed", "Database", "pipe", "existingContextBinder", "acquireReleaseResource", "blueprints", "scoped", "agents", "Error", "Schema", "McpServer", "McpServerSpec", "Annotation", "Type", "LabelAnnotation", "Struct", "fields", "enabled", "optional", "Boolean", "pipe", "object", "typename", "version", "set", "IconAnnotation", "icon", "hue"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Chat
|
|
3
|
+
} from "./chunk-NR3GTWRC.mjs";
|
|
4
|
+
|
|
5
|
+
// src/functions/agent/definitions.ts
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
import { AiService, OpaqueToolkit, ModelName } from "@dxos/ai";
|
|
8
|
+
import { Routine, Trace, Operation, OperationRegistry } from "@dxos/compute";
|
|
9
|
+
import { Database, Feed, Ref } from "@dxos/echo";
|
|
10
|
+
import { Text } from "@dxos/schema";
|
|
11
|
+
var AgentPrompt = Operation.make({
|
|
12
|
+
meta: {
|
|
13
|
+
key: "org.dxos.function.prompt",
|
|
14
|
+
name: "Run Routine",
|
|
15
|
+
description: "Agentic worker that executes a provided prompt using blueprints and tools."
|
|
16
|
+
},
|
|
17
|
+
input: Schema.Struct({
|
|
18
|
+
prompt: Ref.Ref(Routine.Routine),
|
|
19
|
+
/**
|
|
20
|
+
* When set, runs in this chat (history, queue, and bound context). Routine blueprints and context objects are merged into the conversation for this request.
|
|
21
|
+
*/
|
|
22
|
+
chat: Schema.optional(Ref.Ref(Chat)),
|
|
23
|
+
/**
|
|
24
|
+
* @default @anthropic/claude-opus-4-6
|
|
25
|
+
*/
|
|
26
|
+
model: Schema.optional(ModelName),
|
|
27
|
+
/**
|
|
28
|
+
* Input object or data.
|
|
29
|
+
* References get auto-resolved.
|
|
30
|
+
*/
|
|
31
|
+
input: Schema.Any.pipe(Schema.annotations({
|
|
32
|
+
title: "Input"
|
|
33
|
+
})),
|
|
34
|
+
systemInstructions: Schema.optional(Schema.String).annotations({
|
|
35
|
+
description: "Additional system instructions to add to the system prompt."
|
|
36
|
+
})
|
|
37
|
+
}),
|
|
38
|
+
output: Schema.Any,
|
|
39
|
+
// ECHO types that the handler loads via Database.load(). Declaring them here ensures the
|
|
40
|
+
// runtime registers their schema before remote invocation (e.g. via the EDGE function service).
|
|
41
|
+
types: [
|
|
42
|
+
Routine.Routine,
|
|
43
|
+
Text.Text,
|
|
44
|
+
Feed.Feed,
|
|
45
|
+
Chat
|
|
46
|
+
],
|
|
47
|
+
services: [
|
|
48
|
+
AiService.AiService,
|
|
49
|
+
Database.Service,
|
|
50
|
+
Feed.FeedService,
|
|
51
|
+
OpaqueToolkit.OpaqueToolkitProvider,
|
|
52
|
+
OperationRegistry.Service,
|
|
53
|
+
Trace.TraceService
|
|
54
|
+
]
|
|
55
|
+
}).pipe(Operation.intrinsic);
|
|
56
|
+
|
|
57
|
+
export {
|
|
58
|
+
AgentPrompt
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=chunk-COL54UJ3.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/functions/agent/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport { Routine, Trace, Operation, OperationRegistry } from '@dxos/compute';\nimport { Database, Feed, Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\n\nimport * as Chat from '../../types/Chat';\n\n// TODO(dmaretskyi): Rename to RunRoutine.\nexport const AgentPrompt = Operation.make({\n meta: {\n key: 'org.dxos.function.prompt',\n name: 'Run Routine',\n description: 'Agentic worker that executes a provided prompt using blueprints and tools.',\n },\n input: Schema.Struct({\n prompt: Ref.Ref(Routine.Routine),\n\n /**\n * When set, runs in this chat (history, queue, and bound context). Routine blueprints and context objects are merged into the conversation for this request.\n */\n chat: Schema.optional(Ref.Ref(Chat.Chat)),\n\n /**\n * @default @anthropic/claude-opus-4-6\n */\n model: Schema.optional(ModelName),\n\n /**\n * Input object or data.\n * References get auto-resolved.\n */\n input: Schema.Any.pipe(Schema.annotations({ title: 'Input' })),\n\n systemInstructions: Schema.optional(Schema.String).annotations({\n description: 'Additional system instructions to add to the system prompt.',\n }),\n }),\n output: Schema.Any,\n // ECHO types that the handler loads via Database.load(). Declaring them here ensures the\n // runtime registers their schema before remote invocation (e.g. via the EDGE function service).\n types: [Routine.Routine, Text.Text, Feed.Feed, Chat.Chat],\n services: [\n AiService.AiService,\n Database.Service,\n Feed.FeedService,\n OpaqueToolkit.OpaqueToolkitProvider,\n OperationRegistry.Service,\n Trace.TraceService,\n ],\n}).pipe(Operation.intrinsic);\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,WAAWC,eAAeC,iBAAiB;AACpD,SAASC,SAASC,OAAOC,WAAWC,yBAAyB;AAC7D,SAASC,UAAUC,MAAMC,WAAW;AACpC,SAASC,YAAY;AAKd,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBC,QAAQC,IAAIA,IAAIC,QAAQA,OAAO;;;;IAK/BC,MAAaC,gBAASH,IAAIA,IAASI,IAAI,CAAA;;;;IAKvCC,OAAcF,gBAASG,SAAAA;;;;;IAMvBT,OAAcU,WAAIC,KAAYC,mBAAY;MAAEC,OAAO;IAAQ,CAAA,CAAA;IAE3DC,oBAA2BR,gBAAgBS,aAAM,EAAEH,YAAY;MAC7Db,aAAa;IACf,CAAA;EACF,CAAA;EACAiB,QAAeN;;;EAGfO,OAAO;IAACb,QAAQA;IAASc,KAAKA;IAAMC,KAAKA;IAAWZ;;EACpDa,UAAU;IACRC,UAAUA;IACVC,SAASC;IACTJ,KAAKK;IACLC,cAAcC;IACdC,kBAAkBJ;IAClBK,MAAMC;;AAEV,CAAA,EAAGlB,KAAKjB,UAAUoC,SAAS;",
|
|
6
|
+
"names": ["Schema", "AiService", "OpaqueToolkit", "ModelName", "Routine", "Trace", "Operation", "OperationRegistry", "Database", "Feed", "Ref", "Text", "AgentPrompt", "Operation", "make", "meta", "key", "name", "description", "input", "Struct", "prompt", "Ref", "Routine", "chat", "optional", "Chat", "model", "ModelName", "Any", "pipe", "annotations", "title", "systemInstructions", "String", "output", "types", "Text", "Feed", "services", "AiService", "Database", "Service", "FeedService", "OpaqueToolkit", "OpaqueToolkitProvider", "OperationRegistry", "Trace", "TraceService", "intrinsic"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AddArtifact
|
|
3
|
+
} from "./chunk-Q2TFHHQH.mjs";
|
|
4
|
+
|
|
5
|
+
// src/blueprints/project/blueprint.ts
|
|
6
|
+
import { Blueprint, Template } from "@dxos/compute";
|
|
7
|
+
import { trim } from "@dxos/util";
|
|
8
|
+
|
|
9
|
+
// src/blueprints/project/functions/index.ts
|
|
10
|
+
import { OperationHandlerSet } from "@dxos/compute";
|
|
11
|
+
var AgentBlueprintHandlers = OperationHandlerSet.lazy(() => import("./add-artifact-7Z2OMHGM.mjs"), () => import("./agent-ZTAQNX5E.mjs"), () => import("./get-context-45LC3XX3.mjs"), () => import("./qualifier-ANAPS6SX.mjs"));
|
|
12
|
+
|
|
13
|
+
// src/blueprints/project/blueprint.ts
|
|
14
|
+
var BLUEPRINT_KEY = "org.dxos.blueprint.agent";
|
|
15
|
+
var make = () => Blueprint.make({
|
|
16
|
+
key: BLUEPRINT_KEY,
|
|
17
|
+
name: "Agent blueprint",
|
|
18
|
+
instructions: Template.make({
|
|
19
|
+
source: trim`
|
|
20
|
+
You work on an agent. Each agent has instructions - the goal of the agent.
|
|
21
|
+
The agent plan shows the current progress of the agent.
|
|
22
|
+
Agent has a number of associated artifacts you can read/write.
|
|
23
|
+
You can edit them if necessary.
|
|
24
|
+
|
|
25
|
+
IMPORTANT: When creating a new artifact, always add it to the agent using the add-artifact function.
|
|
26
|
+
|
|
27
|
+
{{#with agent}}
|
|
28
|
+
<agent id="{{id}}" name="{{name}}">
|
|
29
|
+
<instructions>
|
|
30
|
+
{{instructions}}
|
|
31
|
+
</instructions>
|
|
32
|
+
<plan>
|
|
33
|
+
{{plan}}
|
|
34
|
+
</plan>
|
|
35
|
+
|
|
36
|
+
<artifacts>
|
|
37
|
+
{{#each artifacts}}
|
|
38
|
+
<artifact type="{{type}}" dxn="{{dxn}}">
|
|
39
|
+
{{name}}
|
|
40
|
+
</artifact>
|
|
41
|
+
{{/each}}
|
|
42
|
+
</artifacts>
|
|
43
|
+
</agent>
|
|
44
|
+
{{/with}}
|
|
45
|
+
`,
|
|
46
|
+
inputs: [
|
|
47
|
+
{
|
|
48
|
+
name: "agent",
|
|
49
|
+
kind: "operation",
|
|
50
|
+
operation: "org.dxos.function.agent.get-context"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}),
|
|
54
|
+
tools: Blueprint.toolDefinitions({
|
|
55
|
+
operations: [
|
|
56
|
+
AddArtifact
|
|
57
|
+
]
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
var blueprint = {
|
|
61
|
+
key: BLUEPRINT_KEY,
|
|
62
|
+
make
|
|
63
|
+
};
|
|
64
|
+
var blueprint_default = blueprint;
|
|
65
|
+
|
|
66
|
+
export {
|
|
67
|
+
AgentBlueprintHandlers,
|
|
68
|
+
blueprint_default
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=chunk-EHGCPRUX.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/project/blueprint.ts", "../../../src/blueprints/project/functions/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Blueprint, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { AddArtifact } from './functions';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.agent';\n\n/**\n * Creates the Agent blueprint. This is a function to avoid circular dependency issues.\n */\n// TODO(dmaretskyi): Combine with Agent Wizard.\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Agent blueprint',\n instructions: Template.make({\n source: trim`\n You work on an agent. Each agent has instructions - the goal of the agent.\n The agent plan shows the current progress of the agent.\n Agent has a number of associated artifacts you can read/write.\n You can edit them if necessary.\n\n IMPORTANT: When creating a new artifact, always add it to the agent using the add-artifact function.\n\n {{#with agent}}\n <agent id=\"{{id}}\" name=\"{{name}}\">\n <instructions>\n {{instructions}}\n </instructions>\n <plan>\n {{plan}}\n </plan>\n\n <artifacts>\n {{#each artifacts}}\n <artifact type=\"{{type}}\" dxn=\"{{dxn}}\">\n {{name}}\n </artifact>\n {{/each}}\n </artifacts>\n </agent>\n {{/with}}\n `,\n inputs: [\n {\n name: 'agent',\n kind: 'operation',\n operation: 'org.dxos.function.agent.get-context',\n },\n ],\n }),\n tools: Blueprint.toolDefinitions({ operations: [AddArtifact] }),\n });\n\nconst blueprint: Blueprint.Definition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * from './definitions';\n\nexport const AgentBlueprintHandlers = OperationHandlerSet.lazy(\n () => import('./add-artifact'),\n () => import('./agent'),\n () => import('./get-context'),\n () => import('./qualifier'),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;;;ACDrB,SAASC,2BAA2B;AAI7B,IAAMC,yBAAyBD,oBAAoBE,KACxD,MAAM,OAAO,6BAAA,GACb,MAAM,OAAO,sBAAA,GACb,MAAM,OAAO,4BAAA,GACb,MAAM,OAAO,0BAAA,CAAA;;;ADHf,IAAMC,gBAAgB;AAMtB,IAAMC,OAAO,MACXC,UAAUD,KAAK;EACbE,KAAKH;EACLI,MAAM;EACNC,cAAcC,SAASL,KAAK;IAC1BM,QAAQC;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BRC,QAAQ;MACN;QACEL,MAAM;QACNM,MAAM;QACNC,WAAW;MACb;;EAEJ,CAAA;EACAC,OAAOV,UAAUW,gBAAgB;IAAEC,YAAY;MAACC;;EAAa,CAAA;AAC/D,CAAA;AAEF,IAAMC,YAAkC;EACtCb,KAAKH;EACLC;AACF;AAEA,IAAA,oBAAee;",
|
|
6
|
+
"names": ["Blueprint", "Template", "trim", "OperationHandlerSet", "AgentBlueprintHandlers", "lazy", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "instructions", "Template", "source", "trim", "inputs", "kind", "operation", "tools", "toolDefinitions", "operations", "AddArtifact", "blueprint"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Memory
|
|
3
|
+
} from "./chunk-KGU725LW.mjs";
|
|
4
|
+
|
|
5
|
+
// src/blueprints/memory/functions/definitions.ts
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
import { Operation } from "@dxos/compute";
|
|
8
|
+
import { Database, Ref } from "@dxos/echo";
|
|
9
|
+
var QueryMemories = Operation.make({
|
|
10
|
+
meta: {
|
|
11
|
+
key: "org.dxos.function.memory.query",
|
|
12
|
+
name: "Query memories",
|
|
13
|
+
description: "Search for stored memories using full-text search. Returns memories matching the query terms. Use this to recall previously saved knowledge, facts, or preferences."
|
|
14
|
+
},
|
|
15
|
+
input: Schema.Struct({
|
|
16
|
+
text: Schema.optional(Schema.String.annotations({
|
|
17
|
+
description: "Full-text search query. Omit to list all memories.",
|
|
18
|
+
examples: [
|
|
19
|
+
"new york trip date plan",
|
|
20
|
+
"favorite color",
|
|
21
|
+
"project cyberdyne"
|
|
22
|
+
]
|
|
23
|
+
})),
|
|
24
|
+
limit: Schema.optional(Schema.Number.annotations({
|
|
25
|
+
description: "Maximum number of results to return.",
|
|
26
|
+
default: 10
|
|
27
|
+
}))
|
|
28
|
+
}),
|
|
29
|
+
output: Schema.Array(Schema.Unknown),
|
|
30
|
+
services: [
|
|
31
|
+
Database.Service
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
var SaveMemory = Operation.make({
|
|
35
|
+
meta: {
|
|
36
|
+
key: "org.dxos.function.memory.save",
|
|
37
|
+
name: "Save memory",
|
|
38
|
+
description: "Saves a new memory to the database. Use this to persist knowledge, facts, preferences, or any information that should be remembered across conversations."
|
|
39
|
+
},
|
|
40
|
+
input: Schema.Struct({
|
|
41
|
+
title: Schema.String.annotations({
|
|
42
|
+
description: "Short descriptive title for the memory."
|
|
43
|
+
}),
|
|
44
|
+
content: Schema.String.annotations({
|
|
45
|
+
description: "The content of the memory. Can be a fact, preference, instruction, or any knowledge worth persisting."
|
|
46
|
+
})
|
|
47
|
+
}),
|
|
48
|
+
output: Schema.Unknown,
|
|
49
|
+
services: [
|
|
50
|
+
Database.Service
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
var DeleteMemory = Operation.make({
|
|
54
|
+
meta: {
|
|
55
|
+
key: "org.dxos.function.memory.delete",
|
|
56
|
+
name: "Delete memory",
|
|
57
|
+
description: "Deletes a memory from the database. Use this to remove outdated or incorrect memories."
|
|
58
|
+
},
|
|
59
|
+
input: Schema.Struct({
|
|
60
|
+
memory: Ref.Ref(Memory)
|
|
61
|
+
}),
|
|
62
|
+
output: Schema.Void,
|
|
63
|
+
services: [
|
|
64
|
+
Database.Service
|
|
65
|
+
]
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
export {
|
|
69
|
+
QueryMemories,
|
|
70
|
+
SaveMemory,
|
|
71
|
+
DeleteMemory
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=chunk-EJAQUAKM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/memory/functions/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Ref } from '@dxos/echo';\n\nimport { Memory } from '../../../types/Memory';\n\nexport const QueryMemories = Operation.make({\n meta: {\n key: 'org.dxos.function.memory.query',\n name: 'Query memories',\n description:\n 'Search for stored memories using full-text search. Returns memories matching the query terms. Use this to recall previously saved knowledge, facts, or preferences.',\n },\n input: Schema.Struct({\n text: Schema.optional(\n Schema.String.annotations({\n description: 'Full-text search query. Omit to list all memories.',\n examples: ['new york trip date plan', 'favorite color', 'project cyberdyne'],\n }),\n ),\n limit: Schema.optional(\n Schema.Number.annotations({\n description: 'Maximum number of results to return.',\n default: 10,\n }),\n ),\n }),\n output: Schema.Array(Schema.Unknown),\n services: [Database.Service],\n});\n\nexport const SaveMemory = Operation.make({\n meta: {\n key: 'org.dxos.function.memory.save',\n name: 'Save memory',\n description:\n 'Saves a new memory to the database. Use this to persist knowledge, facts, preferences, or any information that should be remembered across conversations.',\n },\n input: Schema.Struct({\n title: Schema.String.annotations({\n description: 'Short descriptive title for the memory.',\n }),\n content: Schema.String.annotations({\n description:\n 'The content of the memory. Can be a fact, preference, instruction, or any knowledge worth persisting.',\n }),\n }),\n output: Schema.Unknown,\n services: [Database.Service],\n});\n\nexport const DeleteMemory = Operation.make({\n meta: {\n key: 'org.dxos.function.memory.delete',\n name: 'Delete memory',\n description: 'Deletes a memory from the database. Use this to remove outdated or incorrect memories.',\n },\n input: Schema.Struct({\n memory: Ref.Ref(Memory),\n }),\n output: Schema.Void,\n services: [Database.Service],\n});\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,WAAW;AAIvB,IAAMC,gBAAgBC,UAAUC,KAAK;EAC1CC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO;IACnBC,MAAaC,gBACJC,cAAOC,YAAY;MACxBN,aAAa;MACbO,UAAU;QAAC;QAA2B;QAAkB;;IAC1D,CAAA,CAAA;IAEFC,OAAcJ,gBACLK,cAAOH,YAAY;MACxBN,aAAa;MACbU,SAAS;IACX,CAAA,CAAA;EAEJ,CAAA;EACAC,QAAeC,aAAaC,cAAO;EACnCC,UAAU;IAACC,SAASC;;AACtB,CAAA;AAEO,IAAMC,aAAatB,UAAUC,KAAK;EACvCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO;IACnBgB,OAAcb,cAAOC,YAAY;MAC/BN,aAAa;IACf,CAAA;IACAmB,SAAgBd,cAAOC,YAAY;MACjCN,aACE;IACJ,CAAA;EACF,CAAA;EACAW,QAAeE;EACfC,UAAU;IAACC,SAASC;;AACtB,CAAA;AAEO,IAAMI,eAAezB,UAAUC,KAAK;EACzCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBmB,QAAQC,IAAIA,IAAIC,MAAAA;EAClB,CAAA;EACAZ,QAAea;EACfV,UAAU;IAACC,SAASC;;AACtB,CAAA;",
|
|
6
|
+
"names": ["Schema", "Operation", "Database", "Ref", "QueryMemories", "Operation", "make", "meta", "key", "name", "description", "input", "Struct", "text", "optional", "String", "annotations", "examples", "limit", "Number", "default", "output", "Array", "Unknown", "services", "Database", "Service", "SaveMemory", "title", "content", "DeleteMemory", "memory", "Ref", "Memory", "Void"]
|
|
7
|
+
}
|