@dxos/assistant-toolkit 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc
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-4IVGW6CI.mjs +30 -0
- package/dist/lib/neutral/add-artifact-4IVGW6CI.mjs.map +7 -0
- package/dist/lib/neutral/agent-F4L7UXME.mjs +65 -0
- package/dist/lib/neutral/agent-F4L7UXME.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5GPL2WXU.mjs +292 -0
- package/dist/lib/neutral/chunk-5GPL2WXU.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-BCT55UTL.mjs +75 -0
- package/dist/lib/neutral/chunk-BCT55UTL.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-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-KGU725LW.mjs +29 -0
- package/dist/lib/neutral/chunk-KGU725LW.mjs.map +7 -0
- package/dist/lib/neutral/chunk-KS3IA6FQ.mjs +101 -0
- package/dist/lib/neutral/chunk-KS3IA6FQ.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-PLGEBNTO.mjs +65 -0
- package/dist/lib/neutral/chunk-PLGEBNTO.mjs.map +7 -0
- package/dist/lib/neutral/chunk-W2722TC5.mjs +70 -0
- package/dist/lib/neutral/chunk-W2722TC5.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-3AGXJ4TD.mjs +35 -0
- package/dist/lib/neutral/create-project-3AGXJ4TD.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-FBYWIP72.mjs +35 -0
- package/dist/lib/neutral/get-context-FBYWIP72.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-VVXXUMAI.mjs +23 -0
- package/dist/lib/neutral/project-VVXXUMAI.mjs.map +7 -0
- package/dist/lib/neutral/project-rules-KSVSOZJV.mjs +78 -0
- package/dist/lib/neutral/project-rules-KSVSOZJV.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-DAF4H7V3.mjs +88 -0
- package/dist/lib/neutral/qualifier-DAF4H7V3.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-NOIQLELD.mjs +135 -0
- package/dist/lib/neutral/sync-triggers-NOIQLELD.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-QQUR53RN.mjs +13 -0
- package/dist/lib/neutral/update-tasks-QQUR53RN.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} +4 -1
- package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -0
- package/dist/types/src/{functions/research → crud}/graph.d.ts +12 -11
- package/dist/types/src/crud/graph.d.ts.map +1 -0
- package/dist/types/src/crud/graph.test.d.ts.map +1 -0
- package/dist/types/src/crud/index.d.ts +2 -0
- package/dist/types/src/crud/index.d.ts.map +1 -0
- package/dist/types/src/errors.d.ts +41 -0
- package/dist/types/src/errors.d.ts.map +1 -0
- package/dist/types/src/functions/agent/definitions.d.ts +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 -9
- 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 +3 -1
- 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 +2 -0
- package/dist/types/src/toolkits/index.d.ts.map +1 -0
- 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 -39
- 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 +44 -51
- 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 +44 -0
- package/src/crud/graph.ts +378 -0
- package/src/crud/index.ts +5 -0
- package/src/errors.ts +25 -0
- package/src/functions/READ_THIS.md +5 -0
- package/src/functions/agent/definitions.ts +56 -0
- package/src/functions/agent/index.ts +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 +210 -87
- package/src/functions/index.ts +0 -6
- package/src/index.ts +3 -1
- 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 +5 -0
- package/src/types/Agent.ts +238 -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 -2481
- 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 -2483
- 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 -18
- package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +0 -18
- 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 -12
- 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 -173
- 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 -174
- 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/create-document.d.ts +0 -7
- package/dist/types/src/functions/research/create-document.d.ts.map +0 -1
- package/dist/types/src/functions/research/graph.d.ts.map +0 -1
- package/dist/types/src/functions/research/graph.test.d.ts.map +0 -1
- package/dist/types/src/functions/research/index.d.ts +0 -19
- 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 -13
- 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 -384
- 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/src/blueprints/design/design-blueprint.test.ts +0 -108
- 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 -129
- 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 -45
- package/src/blueprints/websearch/websearch-blueprint.ts +0 -20
- package/src/experimental/feed.test.ts +0 -108
- package/src/functions/discord/fetch-messages.test.ts +0 -59
- package/src/functions/discord/fetch-messages.ts +0 -251
- package/src/functions/discord/index.ts +0 -9
- package/src/functions/document/index.ts +0 -11
- 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 -100
- package/src/functions/entity-extraction/entity-extraction.ts +0 -163
- 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 -86
- package/src/functions/research/create-document.ts +0 -69
- package/src/functions/research/graph.test.ts +0 -69
- package/src/functions/research/graph.ts +0 -388
- package/src/functions/research/index.ts +0 -15
- package/src/functions/research/instructions-research.tpl +0 -98
- package/src/functions/research/research-graph.ts +0 -47
- package/src/functions/research/research.conversations.json +0 -10714
- package/src/functions/research/research.test.ts +0 -240
- package/src/functions/research/research.ts +0 -155
- package/src/functions/research/types.ts +0 -24
- 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/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
- /package/dist/types/src/{functions/research → crud}/graph.test.d.ts +0 -0
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/Memory.ts
|
|
6
|
+
var Memory_exports = {};
|
|
7
|
+
__export(Memory_exports, {
|
|
8
|
+
Memory: () => Memory
|
|
9
|
+
});
|
|
10
|
+
import * as Schema from "effect/Schema";
|
|
11
|
+
import { Annotation, Type } from "@dxos/echo";
|
|
12
|
+
var Memory = Schema.Struct({
|
|
13
|
+
title: Schema.String,
|
|
14
|
+
content: Schema.String
|
|
15
|
+
}).pipe(Type.object({
|
|
16
|
+
typename: "org.dxos.type.memory",
|
|
17
|
+
version: "0.1.0"
|
|
18
|
+
}), Annotation.LabelAnnotation.set([
|
|
19
|
+
"title"
|
|
20
|
+
]), Annotation.IconAnnotation.set({
|
|
21
|
+
icon: "ph--brain--regular",
|
|
22
|
+
hue: "pink"
|
|
23
|
+
}));
|
|
24
|
+
|
|
25
|
+
export {
|
|
26
|
+
Memory,
|
|
27
|
+
Memory_exports
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=chunk-KGU725LW.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Memory.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Type } from '@dxos/echo';\n\n/**\n * Unit of knowledge generated by an agent.\n */\nexport const Memory = Schema.Struct({\n title: Schema.String,\n content: Schema.String,\n}).pipe(\n Type.object({ typename: 'org.dxos.type.memory', version: '0.1.0' }),\n Annotation.LabelAnnotation.set(['title']),\n Annotation.IconAnnotation.set({\n icon: 'ph--brain--regular',\n hue: 'pink',\n }),\n);\n\nexport interface Memory extends Schema.Schema.Type<typeof Memory> {}\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,YAAY;AAK1B,IAAMC,SAAgBC,cAAO;EAClCC,OAAcC;EACdC,SAAgBD;AAClB,CAAA,EAAGE,KACDN,KAAKO,OAAO;EAAEC,UAAU;EAAwBC,SAAS;AAAQ,CAAA,GACjEV,WAAWW,gBAAgBC,IAAI;EAAC;CAAQ,GACxCZ,WAAWa,eAAeD,IAAI;EAC5BE,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;",
|
|
6
|
+
"names": ["Schema", "Annotation", "Type", "Memory", "Struct", "title", "String", "content", "pipe", "object", "typename", "version", "LabelAnnotation", "set", "IconAnnotation", "icon", "hue"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Agent_exports
|
|
3
|
+
} from "./chunk-5GPL2WXU.mjs";
|
|
4
|
+
|
|
5
|
+
// src/blueprints/project/functions/definitions.ts
|
|
6
|
+
import * as Schema from "effect/Schema";
|
|
7
|
+
import { AiService, OpaqueToolkit } from "@dxos/ai";
|
|
8
|
+
import { AiContext } from "@dxos/assistant";
|
|
9
|
+
import { Trace, TriggerEvent, Operation, OperationRegistry } from "@dxos/compute";
|
|
10
|
+
import { Database, Feed, Obj, Ref } from "@dxos/echo";
|
|
11
|
+
import { QueueService } from "@dxos/functions";
|
|
12
|
+
var AgentWorker = Operation.make({
|
|
13
|
+
meta: {
|
|
14
|
+
key: "org.dxos.function.agent.worker",
|
|
15
|
+
name: "Agent Worker",
|
|
16
|
+
description: "Agentic worker that drives the agent autonomously."
|
|
17
|
+
},
|
|
18
|
+
input: Schema.Struct({
|
|
19
|
+
agent: Schema.suspend(() => Ref.Ref(Agent_exports.Agent)),
|
|
20
|
+
prompt: Schema.optional(Schema.String),
|
|
21
|
+
event: Schema.optional(TriggerEvent.TriggerEvent)
|
|
22
|
+
}),
|
|
23
|
+
output: Schema.Void,
|
|
24
|
+
services: [
|
|
25
|
+
AiService.AiService,
|
|
26
|
+
Database.Service,
|
|
27
|
+
QueueService,
|
|
28
|
+
Feed.FeedService,
|
|
29
|
+
OperationRegistry.Service,
|
|
30
|
+
Trace.TraceService,
|
|
31
|
+
OpaqueToolkit.OpaqueToolkitProvider
|
|
32
|
+
]
|
|
33
|
+
}).pipe(Operation.intrinsic);
|
|
34
|
+
var Qualifier = Operation.make({
|
|
35
|
+
meta: {
|
|
36
|
+
key: "org.dxos.function.agent.qualifier",
|
|
37
|
+
name: "Agent Qualifier",
|
|
38
|
+
description: "Qualifier that determines if the event is relevant to the agent. Puts the data into the input queue of the agent."
|
|
39
|
+
},
|
|
40
|
+
input: Schema.Struct({
|
|
41
|
+
agent: Schema.suspend(() => Ref.Ref(Agent_exports.Agent)),
|
|
42
|
+
event: TriggerEvent.TriggerEvent
|
|
43
|
+
}),
|
|
44
|
+
output: Schema.Void,
|
|
45
|
+
services: [
|
|
46
|
+
AiService.AiService,
|
|
47
|
+
Database.Service,
|
|
48
|
+
Feed.FeedService
|
|
49
|
+
]
|
|
50
|
+
}).pipe(Operation.intrinsic);
|
|
51
|
+
var GetContext = Operation.make({
|
|
52
|
+
meta: {
|
|
53
|
+
key: "org.dxos.function.agent.get-context",
|
|
54
|
+
name: "Get Agent Context",
|
|
55
|
+
description: "Get the context of an agent."
|
|
56
|
+
},
|
|
57
|
+
input: Schema.Struct({}),
|
|
58
|
+
output: Schema.Struct({
|
|
59
|
+
id: Schema.String,
|
|
60
|
+
name: Schema.String,
|
|
61
|
+
instructions: Schema.String,
|
|
62
|
+
plan: Schema.String,
|
|
63
|
+
artifacts: Schema.Array(Schema.Struct({
|
|
64
|
+
name: Schema.String,
|
|
65
|
+
type: Schema.optional(Schema.String),
|
|
66
|
+
dxn: Schema.optional(Schema.String)
|
|
67
|
+
}))
|
|
68
|
+
}),
|
|
69
|
+
services: [
|
|
70
|
+
AiContext.Service,
|
|
71
|
+
Database.Service
|
|
72
|
+
]
|
|
73
|
+
}).pipe(Operation.intrinsic);
|
|
74
|
+
var AddArtifact = Operation.make({
|
|
75
|
+
meta: {
|
|
76
|
+
key: "org.dxos.function.agent.add-artifact",
|
|
77
|
+
name: "Add artifact",
|
|
78
|
+
description: "Adds a new artifact."
|
|
79
|
+
},
|
|
80
|
+
input: Schema.Struct({
|
|
81
|
+
name: Schema.String.annotations({
|
|
82
|
+
description: "The name of the artifact to add."
|
|
83
|
+
}),
|
|
84
|
+
artifact: Ref.Ref(Obj.Unknown).annotations({
|
|
85
|
+
description: "The artifact to add. Do NOT guess or try to generate the ID."
|
|
86
|
+
})
|
|
87
|
+
}),
|
|
88
|
+
output: Schema.Void,
|
|
89
|
+
services: [
|
|
90
|
+
AiContext.Service,
|
|
91
|
+
Database.Service
|
|
92
|
+
]
|
|
93
|
+
}).pipe(Operation.intrinsic);
|
|
94
|
+
|
|
95
|
+
export {
|
|
96
|
+
AgentWorker,
|
|
97
|
+
Qualifier,
|
|
98
|
+
GetContext,
|
|
99
|
+
AddArtifact
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=chunk-KS3IA6FQ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/project/functions/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit } from '@dxos/ai';\nimport { AiContext } from '@dxos/assistant';\nimport { Trace, TriggerEvent, Operation, OperationRegistry } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { QueueService } from '@dxos/functions';\n\nimport { Agent } from '../../../types';\n\nexport const AgentWorker = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.worker',\n name: 'Agent Worker',\n description: 'Agentic worker that drives the agent autonomously.',\n },\n input: Schema.Struct({\n agent: Schema.suspend(() => Ref.Ref(Agent.Agent)),\n prompt: Schema.optional(Schema.String),\n event: Schema.optional(TriggerEvent.TriggerEvent),\n }),\n output: Schema.Void,\n services: [\n AiService.AiService,\n Database.Service,\n QueueService,\n Feed.FeedService,\n OperationRegistry.Service,\n Trace.TraceService,\n OpaqueToolkit.OpaqueToolkitProvider,\n ],\n}).pipe(Operation.intrinsic);\n\nexport const Qualifier = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.qualifier',\n name: 'Agent Qualifier',\n description:\n 'Qualifier that determines if the event is relevant to the agent. Puts the data into the input queue of the agent.',\n },\n input: Schema.Struct({\n agent: Schema.suspend(() => Ref.Ref(Agent.Agent)),\n event: TriggerEvent.TriggerEvent,\n }),\n output: Schema.Void,\n services: [AiService.AiService, Database.Service, Feed.FeedService],\n}).pipe(Operation.intrinsic);\n\nexport const GetContext = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.get-context',\n name: 'Get Agent Context',\n description: 'Get the context of an agent.',\n },\n input: Schema.Struct({}),\n output: Schema.Struct({\n id: Schema.String,\n name: Schema.String,\n instructions: Schema.String,\n plan: Schema.String,\n artifacts: Schema.Array(\n Schema.Struct({\n name: Schema.String,\n type: Schema.optional(Schema.String),\n dxn: Schema.optional(Schema.String),\n }),\n ),\n }),\n services: [AiContext.Service, Database.Service],\n}).pipe(Operation.intrinsic);\n\nexport const AddArtifact = Operation.make({\n meta: {\n key: 'org.dxos.function.agent.add-artifact',\n name: 'Add artifact',\n description: 'Adds a new artifact.',\n },\n input: Schema.Struct({\n name: Schema.String.annotations({\n description: 'The name of the artifact to add.',\n }),\n artifact: Ref.Ref(Obj.Unknown).annotations({\n description: 'The artifact to add. Do NOT guess or try to generate the ID.',\n }),\n }),\n output: Schema.Void,\n services: [AiContext.Service, Database.Service],\n}).pipe(Operation.intrinsic);\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,WAAWC,qBAAqB;AACzC,SAASC,iBAAiB;AAC1B,SAASC,OAAOC,cAAcC,WAAWC,yBAAyB;AAClE,SAASC,UAAUC,MAAMC,KAAKC,WAAW;AACzC,SAASC,oBAAoB;AAItB,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBC,OAAcC,eAAQ,MAAMC,IAAIA,IAAIC,cAAMA,KAAK,CAAA;IAC/CC,QAAeC,gBAAgBC,aAAM;IACrCC,OAAcF,gBAASG,aAAaA,YAAY;EAClD,CAAA;EACAC,QAAeC;EACfC,UAAU;IACRC,UAAUA;IACVC,SAASC;IACTC;IACAC,KAAKC;IACLC,kBAAkBJ;IAClBK,MAAMC;IACNC,cAAcC;;AAElB,CAAA,EAAGC,KAAK/B,UAAUgC,SAAS;AAEpB,IAAMC,YAAYjC,UAAUC,KAAK;EACtCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aACE;EACJ;EACAC,OAAcC,cAAO;IACnBC,OAAcC,eAAQ,MAAMC,IAAIA,IAAIC,cAAMA,KAAK,CAAA;IAC/CI,OAAOC,aAAaA;EACtB,CAAA;EACAC,QAAeC;EACfC,UAAU;IAACC,UAAUA;IAAWC,SAASC;IAASE,KAAKC;;AACzD,CAAA,EAAGM,KAAK/B,UAAUgC,SAAS;AAEpB,IAAME,aAAalC,UAAUC,KAAK;EACvCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO,CAAC,CAAA;EACtBU,QAAeV,cAAO;IACpB4B,IAAWrB;IACXV,MAAaU;IACbsB,cAAqBtB;IACrBuB,MAAavB;IACbwB,WAAkBC,aACThC,cAAO;MACZH,MAAaU;MACb0B,MAAa3B,gBAAgBC,aAAM;MACnC2B,KAAY5B,gBAAgBC,aAAM;IACpC,CAAA,CAAA;EAEJ,CAAA;EACAK,UAAU;IAACuB,UAAUpB;IAASD,SAASC;;AACzC,CAAA,EAAGS,KAAK/B,UAAUgC,SAAS;AAEpB,IAAMW,cAAc3C,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBH,MAAaU,cAAO8B,YAAY;MAC9BvC,aAAa;IACf,CAAA;IACAwC,UAAUnC,IAAIA,IAAIoC,IAAIC,OAAO,EAAEH,YAAY;MACzCvC,aAAa;IACf,CAAA;EACF,CAAA;EACAY,QAAeC;EACfC,UAAU;IAACuB,UAAUpB;IAASD,SAASC;;AACzC,CAAA,EAAGS,KAAK/B,UAAUgC,SAAS;",
|
|
6
|
+
"names": ["Schema", "AiService", "OpaqueToolkit", "AiContext", "Trace", "TriggerEvent", "Operation", "OperationRegistry", "Database", "Feed", "Obj", "Ref", "QueueService", "AgentWorker", "Operation", "make", "meta", "key", "name", "description", "input", "Struct", "agent", "suspend", "Ref", "Agent", "prompt", "optional", "String", "event", "TriggerEvent", "output", "Void", "services", "AiService", "Database", "Service", "QueueService", "Feed", "FeedService", "OperationRegistry", "Trace", "TraceService", "OpaqueToolkit", "OpaqueToolkitProvider", "pipe", "intrinsic", "Qualifier", "GetContext", "id", "instructions", "plan", "artifacts", "Array", "type", "dxn", "AiContext", "AddArtifact", "annotations", "artifact", "Obj", "Unknown"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// src/blueprints/linear/functions/definitions.ts
|
|
2
|
+
import * as Schema from "effect/Schema";
|
|
3
|
+
import { Credential, Operation } from "@dxos/compute";
|
|
4
|
+
import { Database } from "@dxos/echo";
|
|
5
|
+
var SyncIssues = Operation.make({
|
|
6
|
+
meta: {
|
|
7
|
+
key: "org.dxos.function.linear.sync-issues",
|
|
8
|
+
name: "Linear",
|
|
9
|
+
description: "Sync issues from Linear."
|
|
10
|
+
},
|
|
11
|
+
input: Schema.Struct({
|
|
12
|
+
team: Schema.String.annotations({
|
|
13
|
+
description: "Linear team id."
|
|
14
|
+
})
|
|
15
|
+
}),
|
|
16
|
+
output: Schema.Any,
|
|
17
|
+
services: [
|
|
18
|
+
Credential.CredentialsService,
|
|
19
|
+
Database.Service
|
|
20
|
+
]
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// src/sync/sync.ts
|
|
24
|
+
import * as Effect from "effect/Effect";
|
|
25
|
+
import { Database as Database2, Filter, Obj, Query, Ref } from "@dxos/echo";
|
|
26
|
+
import { failedInvariant } from "@dxos/invariant";
|
|
27
|
+
import { log } from "@dxos/log";
|
|
28
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/sync/sync.ts";
|
|
29
|
+
var syncObjects = Effect.fn("syncObjects")(function* (objs, { foreignKeyId }) {
|
|
30
|
+
return yield* Effect.forEach(objs, Effect.fnUntraced(function* (obj) {
|
|
31
|
+
for (const key of Object.keys(obj)) {
|
|
32
|
+
if (typeof key !== "string" || key === "id") {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (!Ref.isRef(obj[key])) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const ref = obj[key];
|
|
39
|
+
if (!ref.target) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (Obj.getDXN(ref.target).isLocalObjectId()) {
|
|
43
|
+
const [target] = yield* syncObjects([
|
|
44
|
+
ref.target
|
|
45
|
+
], {
|
|
46
|
+
foreignKeyId
|
|
47
|
+
});
|
|
48
|
+
obj[key] = Ref.make(target);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const schema = Obj.getSchema(obj) ?? failedInvariant("No schema.");
|
|
52
|
+
const foreignId = Obj.getKeys(obj, foreignKeyId)[0]?.id ?? failedInvariant("No foreign key.");
|
|
53
|
+
const [existing] = yield* Database2.runQuery(Query.select(Filter.foreignKeys(schema, [
|
|
54
|
+
{
|
|
55
|
+
source: foreignKeyId,
|
|
56
|
+
id: foreignId
|
|
57
|
+
}
|
|
58
|
+
])));
|
|
59
|
+
log("sync object", {
|
|
60
|
+
type: Obj.getTypename(obj),
|
|
61
|
+
foreignId,
|
|
62
|
+
existing: existing ? Obj.getDXN(existing) : void 0
|
|
63
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 47, S: this });
|
|
64
|
+
if (!existing) {
|
|
65
|
+
yield* Database2.add(obj);
|
|
66
|
+
return obj;
|
|
67
|
+
} else {
|
|
68
|
+
copyObjectData(existing, obj);
|
|
69
|
+
return existing;
|
|
70
|
+
}
|
|
71
|
+
}), {
|
|
72
|
+
concurrency: 1
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
var copyObjectData = (existing, newObj) => {
|
|
76
|
+
Obj.update(existing, (existing2) => {
|
|
77
|
+
for (const key of Object.keys(newObj)) {
|
|
78
|
+
if (typeof key !== "string" || key === "id") {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (typeof newObj[key] !== "string" && typeof newObj[key] !== "number" && typeof newObj[key] !== "boolean" && !Ref.isRef(newObj[key])) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
existing2[key] = newObj[key];
|
|
85
|
+
}
|
|
86
|
+
for (const key of Object.keys(existing2)) {
|
|
87
|
+
if (typeof key !== "string" || key === "id") {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (!(key in newObj)) {
|
|
91
|
+
delete existing2[key];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
for (const foreignKey of Obj.getMeta(newObj).keys) {
|
|
95
|
+
Obj.deleteKeys(existing2, foreignKey.source);
|
|
96
|
+
Obj.getMeta(existing2).keys.push({
|
|
97
|
+
...foreignKey
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export {
|
|
104
|
+
SyncIssues,
|
|
105
|
+
syncObjects
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=chunk-MMQ7HFL4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/linear/functions/definitions.ts", "../../../src/sync/sync.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Credential, Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\n\nexport const SyncIssues = Operation.make({\n meta: {\n key: 'org.dxos.function.linear.sync-issues',\n name: 'Linear',\n description: 'Sync issues from Linear.',\n },\n input: Schema.Struct({\n team: Schema.String.annotations({\n description: 'Linear team id.',\n }),\n }),\n output: Schema.Any,\n services: [Credential.CredentialsService, Database.Service],\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Database, Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { failedInvariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\n\n/**\n * Syncs objects to the database.\n * If there's an object with a matching foreign key in the database, it will be updated.\n * Otherwise, a new object will be added.\n * Recursively syncs top-level refs.\n *\n * @param opts.foreignKeyId - The key to use for matching objects.\n */\nexport const syncObjects: (\n objs: Obj.Unknown[],\n opts: { foreignKeyId: string },\n) => Effect.Effect<Obj.Unknown[], never, Database.Service> = Effect.fn('syncObjects')(function* (\n objs,\n { foreignKeyId },\n) {\n return yield* Effect.forEach(\n objs,\n Effect.fnUntraced(function* (obj) {\n // Sync referenced objects.\n for (const key of Object.keys(obj)) {\n if (typeof key !== 'string' || key === 'id') {\n continue;\n }\n if (!Ref.isRef((obj as any)[key])) {\n continue;\n }\n const ref: Ref.Unknown = (obj as any)[key];\n if (!ref.target) {\n continue;\n }\n if (Obj.getDXN(ref.target).isLocalObjectId()) {\n // obj not persisted to db.\n const [target] = yield* syncObjects([ref.target], { foreignKeyId });\n (obj as any)[key] = Ref.make(target);\n }\n }\n\n const schema = Obj.getSchema(obj) ?? failedInvariant('No schema.');\n const foreignId = Obj.getKeys(obj, foreignKeyId)[0]?.id ?? failedInvariant('No foreign key.');\n const [existing] = yield* Database.runQuery(\n Query.select(Filter.foreignKeys(schema, [{ source: foreignKeyId, id: foreignId }])),\n );\n log('sync object', {\n type: Obj.getTypename(obj),\n foreignId,\n existing: existing ? Obj.getDXN(existing) : undefined,\n });\n if (!existing) {\n yield* Database.add(obj);\n return obj;\n } else {\n copyObjectData(existing, obj);\n return existing;\n }\n }),\n { concurrency: 1 },\n );\n});\n\nconst copyObjectData = (existing: Obj.Unknown, newObj: Obj.Unknown) => {\n Obj.update(existing, (existing) => {\n // Copy properties from newObj to existing.\n for (const key of Object.keys(newObj)) {\n if (typeof key !== 'string' || key === 'id') {\n continue;\n }\n if (\n typeof (newObj as any)[key] !== 'string' &&\n typeof (newObj as any)[key] !== 'number' &&\n typeof (newObj as any)[key] !== 'boolean' &&\n !Ref.isRef((newObj as any)[key])\n ) {\n continue;\n }\n (existing as any)[key] = (newObj as any)[key];\n }\n\n // Delete properties that don't exist in newObj.\n for (const key of Object.keys(existing)) {\n if (typeof key !== 'string' || key === 'id') {\n continue;\n }\n if (!(key in newObj)) {\n delete (existing as any)[key];\n }\n }\n\n // Update foreign keys.\n for (const foreignKey of Obj.getMeta(newObj).keys) {\n Obj.deleteKeys(existing, foreignKey.source);\n // TODO(dmaretskyi): Doesn't work: `Obj.getMeta(existing).keys.push(foreignKey);`\n Obj.getMeta(existing).keys.push({ ...foreignKey });\n }\n });\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,iBAAiB;AACtC,SAASC,gBAAgB;AAElB,IAAMC,aAAaF,UAAUG,KAAK;EACvCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAa;EACf;EACAC,OAAcC,cAAO;IACnBC,MAAaC,cAAOC,YAAY;MAC9BL,aAAa;IACf,CAAA;EACF,CAAA;EACAM,QAAeC;EACfC,UAAU;IAAChB,WAAWiB;IAAoBf,SAASgB;;AACrD,CAAA;;;AClBA,YAAYC,YAAY;AAExB,SAASC,YAAAA,WAAUC,QAAQC,KAAKC,OAAOC,WAAW;AAClD,SAASC,uBAAuB;AAChC,SAASC,WAAW;AAEpB,IAAA,eAAA;AAkBM,IAAA,cAA2B,UAAA,aAAA,EAAA,WAAA,MAAA,EAAA,aAAA,GAAA;SAC3B,OAAWC,eAAcC,MAAW,kBAAA,WAAA,KAAA;eAEhC,OAAA,OAAA,KAAA,GAAA,GAAA;AACF,UAAA,OAAA,QAAA,YAAA,QAAA,MAAA;AACI;;AAEJ,UAAA,CAAA,IAAA,MAAA,IAAA,GAAA,CAAA,GAAA;AACA;MACA;YACE,MAAA,IAAA,GAAA;AACF,UAAA,CAAA,IAAA,QAAA;AACIN;;UAEF,IAAA,OAAOO,IAAO,MAAG,EAAA,gBAAmB,GAAA;cAAc,CAAA,MAAA,IAAA,OAAA,YAAA;UAAEC,IAAAA;QAAa,GAAA;UACpDH;QACf,CAAA;AACF,YAAA,GAAA,IAAA,IAAA,KAAA,MAAA;MAEA;IACA;AACA,UAAM,SAACI,IAAY,UAAOX,GAAAA,KAASY,gBAC3BC,YAAcC;UAAqB,YAAA,IAAA,QAAA,KAAA,YAAA,EAAA,CAAA,GAAA,MAAA,gBAAA,iBAAA;mBAAEC,IAAQL,OAAAA,UAAAA,SAAAA,MAAAA,OAAAA,OAAAA,YAAAA,QAAAA;;QAA4B,QAAA;QAAE,IAAA;MAE/E;;QAEFM,eAAAA;MACAL,MAAAA,IAAUA,YAAWT,GAAIe;MAC3B;MACI,UAACN,WAAU,IAAA,OAAA,QAAA,IAAA;qBACNX,YAAakB,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,KAAAA,CAAAA;QACpB,CAAA,UAAOA;AACT,aAAOlB,UAAA,IAAA,GAAA;AACLmB,aAAAA;WACA;AACF,qBAAA,UAAA,GAAA;AAEF,aAAA;IAAEC;EAAe,CAAA,GAAA;IAElB,aAAA;EAEH,CAAA;;qBAEI,CAAA,UAAA,WAAA;MACA,OAAK,UAAMb,CAAOc,cAAW;eAEzB,OAAA,OAAA,KAAA,MAAA,GAAA;AACF,UAAA,OAAA,QAAA,YAAA,QAAA,MAAA;AAEE;;AAMF,UAAA,OAAA,OAAA,GAAA,MAAA,YAAA,OAAA,OAAA,GAAA,MAAA,YAAA,OAAA,OAAA,GAAA,MAAA,aAAA,CAAA,IAAA,MAAA,OAAA,GAAA,CAAA,GAAA;AACCV;MACH;AAEA,MAAAA,UAAA,GAAA,IAAA,OAAA,GAAA;IACA;eAEI,OAAA,OAAA,KAAAA,SAAA,GAAA;AACF,UAAA,OAAA,QAAA,YAAA,QAAA,MAAA;AACI;;AAEJ,UAAA,EAAA,OAAA,SAAA;AACF,eAAAA,UAAA,GAAA;MAEA;IACA;eAEE,cAAA,IAAA,QAAA,MAAA,EAAA,MAAA;AACAT,UAAIoB,WAAQX,WAAUH,WAAU,MAAA;AAAgB,UAAA,QAAAG,SAAA,EAAA,KAAA,KAAA;QAClD,GAAA;MACF,CAAA;IACF;;;",
|
|
6
|
+
"names": ["Schema", "Credential", "Operation", "Database", "SyncIssues", "make", "meta", "key", "name", "description", "input", "Struct", "team", "String", "annotations", "output", "Any", "services", "CredentialsService", "Service", "Effect", "Database", "Filter", "Obj", "Query", "Ref", "failedInvariant", "log", "key", "keys", "target", "foreignKeyId", "existing", "runQuery", "select", "foreignKeys", "source", "foreignId", "getDXN", "obj", "copyObjectData", "concurrency", "Object", "getMeta"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/Chat.ts
|
|
6
|
+
var Chat_exports = {};
|
|
7
|
+
__export(Chat_exports, {
|
|
8
|
+
Chat: () => Chat,
|
|
9
|
+
CompanionTo: () => CompanionTo,
|
|
10
|
+
LegacyCompanionTo: () => LegacyCompanionTo,
|
|
11
|
+
make: () => make
|
|
12
|
+
});
|
|
13
|
+
import * as Schema from "effect/Schema";
|
|
14
|
+
import { Annotation, Feed, Obj, Ref, Type } from "@dxos/echo";
|
|
15
|
+
import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
16
|
+
var Chat = Schema.Struct({
|
|
17
|
+
name: Schema.String.pipe(Schema.optional),
|
|
18
|
+
feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),
|
|
19
|
+
view: Schema.String.pipe(Schema.optional)
|
|
20
|
+
}).pipe(Type.object({
|
|
21
|
+
typename: "org.dxos.type.assistant.chat",
|
|
22
|
+
version: "0.1.0"
|
|
23
|
+
}), LabelAnnotation.set([
|
|
24
|
+
"name"
|
|
25
|
+
]), Annotation.IconAnnotation.set({
|
|
26
|
+
icon: "ph--sparkle--regular",
|
|
27
|
+
hue: "sky"
|
|
28
|
+
}));
|
|
29
|
+
var make = (props) => Obj.make(Chat, props);
|
|
30
|
+
var LegacyCompanionTo = Schema.Struct({
|
|
31
|
+
id: Obj.ID
|
|
32
|
+
}).pipe(Type.relation({
|
|
33
|
+
typename: "org.dxos.relation.assistant.companion-to",
|
|
34
|
+
version: "0.1.0",
|
|
35
|
+
source: Chat,
|
|
36
|
+
target: Obj.Unknown
|
|
37
|
+
}));
|
|
38
|
+
var CompanionTo = Schema.Struct({
|
|
39
|
+
id: Obj.ID
|
|
40
|
+
}).pipe(Type.relation({
|
|
41
|
+
typename: "org.dxos.relation.assistant.companionTo",
|
|
42
|
+
version: "0.1.0",
|
|
43
|
+
source: Chat,
|
|
44
|
+
target: Obj.Unknown
|
|
45
|
+
}));
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
Chat,
|
|
49
|
+
make,
|
|
50
|
+
CompanionTo,
|
|
51
|
+
Chat_exports
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=chunk-NR3GTWRC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Chat.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Feed, Obj, Ref, Type } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\n\n/**\n * AI chat.\n */\nexport const Chat = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),\n view: Schema.String.pipe(Schema.optional),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.assistant.chat',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({\n icon: 'ph--sparkle--regular',\n hue: 'sky',\n }),\n);\n\nexport interface Chat extends Schema.Schema.Type<typeof Chat> {}\n\nexport const make = (props: Obj.MakeProps<typeof Chat>) => Obj.make(Chat, props);\n\n/** @deprecated Use CompanionTo instead. */\nexport const LegacyCompanionTo = Schema.Struct({\n id: Obj.ID,\n}).pipe(\n Type.relation({\n typename: 'org.dxos.relation.assistant.companion-to',\n version: '0.1.0',\n source: Chat,\n target: Obj.Unknown,\n }),\n);\n\nexport interface LegacyCompanionTo extends Schema.Schema.Type<typeof LegacyCompanionTo> {}\n\n/**\n * Relation between a Chat and companion objects (e.g., artifacts).\n */\nexport const CompanionTo = Schema.Struct({\n id: Obj.ID,\n}).pipe(\n Type.relation({\n typename: 'org.dxos.relation.assistant.companionTo',\n version: '0.1.0',\n source: Chat,\n target: Obj.Unknown,\n }),\n);\n\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;;;;AAMA,YAAYA,YAAY;AAExB,SAASC,YAAYC,MAAMC,KAAKC,KAAKC,YAAY;AACjD,SAASC,qBAAqBC,uBAAuB;AAK9C,IAAMC,OAAcC,cAAO;EAChCC,MAAaC,cAAOC,KAAYC,eAAQ;EACxCC,MAAMV,IAAIA,IAAIF,KAAKA,IAAI,EAAEU,KAAKN,oBAAoBS,IAAI,KAAA,CAAA;EACtDC,MAAaL,cAAOC,KAAYC,eAAQ;AAC1C,CAAA,EAAGD,KACDP,KAAKY,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACAZ,gBAAgBQ,IAAI;EAAC;CAAO,GAC5Bd,WAAWmB,eAAeL,IAAI;EAC5BM,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAKK,IAAMC,OAAO,CAACC,UAAsCrB,IAAIoB,KAAKf,MAAMgB,KAAAA;AAGnE,IAAMC,oBAA2BhB,cAAO;EAC7CiB,IAAIvB,IAAIwB;AACV,CAAA,EAAGf,KACDP,KAAKuB,SAAS;EACZV,UAAU;EACVC,SAAS;EACTU,QAAQrB;EACRsB,QAAQ3B,IAAI4B;AACd,CAAA,CAAA;AAQK,IAAMC,cAAqBvB,cAAO;EACvCiB,IAAIvB,IAAIwB;AACV,CAAA,EAAGf,KACDP,KAAKuB,SAAS;EACZV,UAAU;EACVC,SAAS;EACTU,QAAQrB;EACRsB,QAAQ3B,IAAI4B;AACd,CAAA,CAAA;",
|
|
6
|
+
"names": ["Schema", "Annotation", "Feed", "Obj", "Ref", "Type", "FormInputAnnotation", "LabelAnnotation", "Chat", "Struct", "name", "String", "pipe", "optional", "feed", "set", "view", "object", "typename", "version", "IconAnnotation", "icon", "hue", "make", "props", "LegacyCompanionTo", "id", "ID", "relation", "source", "target", "Unknown", "CompanionTo"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Agent_exports,
|
|
3
|
+
Plan_exports
|
|
4
|
+
} from "./chunk-5GPL2WXU.mjs";
|
|
5
|
+
|
|
6
|
+
// src/blueprints/planning/functions/update-tasks.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import * as Schema from "effect/Schema";
|
|
9
|
+
import { AiContext } from "@dxos/assistant";
|
|
10
|
+
import { Operation } from "@dxos/compute";
|
|
11
|
+
import { Database, Obj } from "@dxos/echo";
|
|
12
|
+
import { trim } from "@dxos/util";
|
|
13
|
+
|
|
14
|
+
// raw-loader:/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/planning/functions/update-tasks.md?raw
|
|
15
|
+
var update_tasks_default = '## PLANNING TOOL\n\nThis tool maintains an organized task list.\nUse this to track progress, break down objectives, and ensure thoroughness.\nIf you are asked to create a plan use this tool instead of creating a new document.\nAfter creating initial tasks, update them silently without announcing changes to the user.\nImportant: Do not show or summarize the contents of the task list unless the user asks for this.\n\n### CORE USAGE PRINCIPLES\n\nCreate and manage tasks for: multi-step objectives requiring 3+ distinct actions, complex projects needing careful sequencing,\nuser requests for task organization, multiple deliverables provided together, new instructions (capture as tasks immediately with new IDs),\ncompleted work (mark `done` and add follow-ups), and active work (mark as `in-progress`, limit one at a time).\n\nSkip task management for: single straightforward actions, simple requests achievable in 1-2 steps,\ninformational queries, quick lookups or clarifications, and avoid creating verification tasks unless requested.\n\n### TOOL SPECIFICATION\n\n`update-tasks` requires an array of task objects. Each task object contains:\n\n- id (string, required): unique identifier like "task_1" or "research_sources"\n- title (string, optional): update to clarify or refine task description\n- status (string, optional): `todo` | `in-progress` | `done`\n\nTask status meanings: \'todo\' means not yet started, `in-progress` means currently being worked on, `done` means completed successfully.\n\n### OPERATIONAL GUIDELINES\n\nUpdate tasks in realtime as work progresses. Mark tasks `done` immediately upon completion.\nMaintain only ONE task with `in-progress` status at a time. Complete current tasks before starting new ones.\nUse specific, actionable task titles. Break complex work into manageable logical pieces.\nBatch task updates with other actions when possible for efficiency.\n\n### USAGE EXAMPLES\n\n<example type="research_project">\n<user_message>I need to research sustainable packaging options and write a report comparing costs and environmental impact.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: "research_materials", title: "Research sustainable packaging materials", status: "in-progress"}\n2. {id: "compare_costs", title: "Compile cost comparison data", status: "todo"}\n3. {id: "assess_impact", title: "Evaluate environmental impact metrics", status: "todo"}\n4. {id: "draft_report", title: "Write comparative analysis report", status: "todo"}\n\nBegins research work immediately in same response.\n</assistant_action>\n<reasoning>Multi-phase project requiring systematic tracking across research, analysis, and writing stages.</reasoning>\n</example>\n\n<example type="event_planning">\n<user_message>Help me plan a team retreat - venue, agenda, catering, and send invitations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: "venue_options", title: "Research and recommend venues", status: "in-progress"}\n2. {id: "draft_agenda", title: "Create retreat agenda", status: "todo"}\n3. {id: "arrange_catering", title: "Coordinate catering options", status: "todo"}\n4. {id: "send_invites", title: "Draft and send invitations", status: "todo"}\n</assistant_action>\n<reasoning>Multiple distinct deliverables with dependencies requiring organized tracking.</reasoning>\n</example>\n\n<example type="document_analysis">\n<user_message>Review this 30-page contract for key terms, risks, and negotiation points.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: "extract_key_terms", title: "Identify key contractual terms", status: "in-progress"}\n2. {id: "flag_risks", title: "Flag potential risks and liabilities", status: "todo"}\n3. {id: "negotiation_points", title: "Compile negotiation recommendations", status: "todo"}\n4. {id: "summary_doc", title: "Prepare executive summary", status: "todo"}\n</assistant_action>\n<reasoning>Substantial analysis work requiring methodical breakdown and systematic review.</reasoning>\n</example>\n\n<example type="multiple_deliverables">\n<user_message>I need: 1) competitor analysis for three companies, 2) SWOT analysis, 3) market positioning recommendations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: "competitor_research", title: "Research three competitor companies", status: "in-progress"}\n2. {id: "swot_analysis", title: "Develop SWOT analysis", status: "todo"}\n3. {id: "positioning_recs", title: "Create market positioning recommendations", status: "todo"}\n</assistant_action>\n<reasoning>User provided numbered list of distinct deliverables requiring separate effort.</reasoning>\n</example>\n\n<example type="skip_simple_question">\n<user_message>What\'s the difference between renewable and sustainable energy?</user_message>\n<assistant_action>Provides explanation directly without creating tasks.</assistant_action>\n<reasoning>Informational request with no actionable work to complete or track.</reasoning>\n</example>\n\n<example type="skip_quick_lookup">\n<user_message>Find the population of Tokyo.</user_message>\n<assistant_action>Searches and provides answer without task tracking.</assistant_action>\n<reasoning>Single straightforward lookup completable immediately.</reasoning>\n</example>\n\n<example type="skip_trivial_task">\n<user_message>Summarize this 2-paragraph email.</user_message>\n<assistant_action>Provides summary directly without creating tasks.</assistant_action>\n<reasoning>Single simple action requiring no breakdown or progress tracking.</reasoning>\n</example>\n\n<example type="skip_single_action">\n<user_message>Check if my flight is on time.</user_message>\n<assistant_action>Performs lookup and reports status without task management.</assistant_action>\n<reasoning>One-step action with immediate completion, no organizational benefit from tasks.</reasoning>\n</example>\n\n### BEST PRACTICES\n\nFor task creation: use descriptive unique IDs reflecting the work, start first task as `in-progress`, batch initial creation with beginning work.\nFor progress tracking: update status immediately upon completion, keep only one `in-progress` task unless parallel work is natural, add follow-up tasks as they emerge. For task breakdown: aim for reasonably-scoped tasks, group related small actions into logical units, split tasks requiring different approaches.\n\nWhen uncertain whether to use task management, err on the side of creating tasks.\nProactive organization demonstrates thoroughness and ensures comprehensive work completion.\n';
|
|
16
|
+
|
|
17
|
+
// src/blueprints/planning/functions/update-tasks.ts
|
|
18
|
+
var SimpleTask = Plan_exports.Task.omit("chat");
|
|
19
|
+
var UpdateTasks = Operation.make({
|
|
20
|
+
meta: {
|
|
21
|
+
key: "org.dxos.function.planning.update-tasks",
|
|
22
|
+
name: "Update tasks",
|
|
23
|
+
description: update_tasks_default
|
|
24
|
+
},
|
|
25
|
+
input: Schema.Struct({
|
|
26
|
+
tasks: Schema.Array(SimpleTask)
|
|
27
|
+
}),
|
|
28
|
+
output: Schema.Any,
|
|
29
|
+
services: [
|
|
30
|
+
AiContext.Service,
|
|
31
|
+
Database.Service
|
|
32
|
+
]
|
|
33
|
+
});
|
|
34
|
+
var update_tasks_default2 = UpdateTasks.pipe(Operation.withHandler(Effect.fn(function* ({ tasks: newTasks }) {
|
|
35
|
+
const agent = yield* Agent_exports.getFromChatContext;
|
|
36
|
+
const plan = yield* Database.load(agent.plan);
|
|
37
|
+
Obj.update(plan, (plan2) => {
|
|
38
|
+
for (const task of newTasks) {
|
|
39
|
+
const existingTask = plan2.tasks.find((t) => t.id === task.id);
|
|
40
|
+
if (existingTask) {
|
|
41
|
+
existingTask.title = task.title;
|
|
42
|
+
existingTask.status = task.status;
|
|
43
|
+
} else {
|
|
44
|
+
plan2.tasks.push({
|
|
45
|
+
id: task.id,
|
|
46
|
+
title: task.title,
|
|
47
|
+
status: task.status
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return trim`
|
|
53
|
+
You must update the task status to 'in-progress' when you start and 'done' when complete.
|
|
54
|
+
Current plan updated:
|
|
55
|
+
<plan>
|
|
56
|
+
${Plan_exports.formatPlan(plan)}
|
|
57
|
+
</plan>
|
|
58
|
+
`;
|
|
59
|
+
})));
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
UpdateTasks,
|
|
63
|
+
update_tasks_default2 as update_tasks_default
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=chunk-PLGEBNTO.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/planning/functions/update-tasks.ts", "raw-loader:/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/planning/functions/update-tasks.md?raw"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { AiContext } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\nimport { Database, Obj } from '@dxos/echo';\nimport { trim } from '@dxos/util';\n\nimport { Plan, Agent } from '../../../types';\nimport INSTRUCTIONS from './update-tasks.md?raw';\n\nconst SimpleTask = Plan.Task.omit('chat');\n\nexport const UpdateTasks = Operation.make({\n meta: {\n key: 'org.dxos.function.planning.update-tasks', // TODO(burdon): Are hyphens allowed?\n name: 'Update tasks',\n description: INSTRUCTIONS,\n },\n input: Schema.Struct({\n tasks: Schema.Array(SimpleTask),\n }),\n output: Schema.Any,\n services: [AiContext.Service, Database.Service],\n});\n\n/**\n * Updates the planning document (Agent.plan) with the given tasks.\n */\nexport default UpdateTasks.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ tasks: newTasks }) {\n const agent = yield* Agent.getFromChatContext;\n // TODO(burdon): How to specify requirements/preconditions before calling?\n // TODO(burdon): How to report non-technical error?\n const plan = yield* Database.load(agent.plan);\n\n Obj.update(plan, (plan) => {\n for (const task of newTasks) {\n const existingTask = plan.tasks.find((t) => t.id === task.id);\n if (existingTask) {\n existingTask.title = task.title;\n existingTask.status = task.status;\n } else {\n plan.tasks.push({\n id: task.id,\n title: task.title,\n status: task.status,\n });\n }\n }\n });\n\n return trim`\n You must update the task status to 'in-progress' when you start and 'done' when complete.\n Current plan updated:\n <plan>\n ${Plan.formatPlan(plan)}\n </plan>\n `;\n }) as any,\n ),\n);\n", "## PLANNING TOOL\n\nThis tool maintains an organized task list.\nUse this to track progress, break down objectives, and ensure thoroughness.\nIf you are asked to create a plan use this tool instead of creating a new document.\nAfter creating initial tasks, update them silently without announcing changes to the user.\nImportant: Do not show or summarize the contents of the task list unless the user asks for this.\n\n### CORE USAGE PRINCIPLES\n\nCreate and manage tasks for: multi-step objectives requiring 3+ distinct actions, complex projects needing careful sequencing,\nuser requests for task organization, multiple deliverables provided together, new instructions (capture as tasks immediately with new IDs),\ncompleted work (mark `done` and add follow-ups), and active work (mark as `in-progress`, limit one at a time).\n\nSkip task management for: single straightforward actions, simple requests achievable in 1-2 steps,\ninformational queries, quick lookups or clarifications, and avoid creating verification tasks unless requested.\n\n### TOOL SPECIFICATION\n\n`update-tasks` requires an array of task objects. Each task object contains:\n\n- id (string, required): unique identifier like \"task_1\" or \"research_sources\"\n- title (string, optional): update to clarify or refine task description\n- status (string, optional): `todo` | `in-progress` | `done`\n\nTask status meanings: 'todo' means not yet started, `in-progress` means currently being worked on, `done` means completed successfully.\n\n### OPERATIONAL GUIDELINES\n\nUpdate tasks in realtime as work progresses. Mark tasks `done` immediately upon completion.\nMaintain only ONE task with `in-progress` status at a time. Complete current tasks before starting new ones.\nUse specific, actionable task titles. Break complex work into manageable logical pieces.\nBatch task updates with other actions when possible for efficiency.\n\n### USAGE EXAMPLES\n\n<example type=\"research_project\">\n<user_message>I need to research sustainable packaging options and write a report comparing costs and environmental impact.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"research_materials\", title: \"Research sustainable packaging materials\", status: \"in-progress\"}\n2. {id: \"compare_costs\", title: \"Compile cost comparison data\", status: \"todo\"}\n3. {id: \"assess_impact\", title: \"Evaluate environmental impact metrics\", status: \"todo\"}\n4. {id: \"draft_report\", title: \"Write comparative analysis report\", status: \"todo\"}\n\nBegins research work immediately in same response.\n</assistant_action>\n<reasoning>Multi-phase project requiring systematic tracking across research, analysis, and writing stages.</reasoning>\n</example>\n\n<example type=\"event_planning\">\n<user_message>Help me plan a team retreat - venue, agenda, catering, and send invitations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"venue_options\", title: \"Research and recommend venues\", status: \"in-progress\"}\n2. {id: \"draft_agenda\", title: \"Create retreat agenda\", status: \"todo\"}\n3. {id: \"arrange_catering\", title: \"Coordinate catering options\", status: \"todo\"}\n4. {id: \"send_invites\", title: \"Draft and send invitations\", status: \"todo\"}\n</assistant_action>\n<reasoning>Multiple distinct deliverables with dependencies requiring organized tracking.</reasoning>\n</example>\n\n<example type=\"document_analysis\">\n<user_message>Review this 30-page contract for key terms, risks, and negotiation points.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"extract_key_terms\", title: \"Identify key contractual terms\", status: \"in-progress\"}\n2. {id: \"flag_risks\", title: \"Flag potential risks and liabilities\", status: \"todo\"}\n3. {id: \"negotiation_points\", title: \"Compile negotiation recommendations\", status: \"todo\"}\n4. {id: \"summary_doc\", title: \"Prepare executive summary\", status: \"todo\"}\n</assistant_action>\n<reasoning>Substantial analysis work requiring methodical breakdown and systematic review.</reasoning>\n</example>\n\n<example type=\"multiple_deliverables\">\n<user_message>I need: 1) competitor analysis for three companies, 2) SWOT analysis, 3) market positioning recommendations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"competitor_research\", title: \"Research three competitor companies\", status: \"in-progress\"}\n2. {id: \"swot_analysis\", title: \"Develop SWOT analysis\", status: \"todo\"}\n3. {id: \"positioning_recs\", title: \"Create market positioning recommendations\", status: \"todo\"}\n</assistant_action>\n<reasoning>User provided numbered list of distinct deliverables requiring separate effort.</reasoning>\n</example>\n\n<example type=\"skip_simple_question\">\n<user_message>What's the difference between renewable and sustainable energy?</user_message>\n<assistant_action>Provides explanation directly without creating tasks.</assistant_action>\n<reasoning>Informational request with no actionable work to complete or track.</reasoning>\n</example>\n\n<example type=\"skip_quick_lookup\">\n<user_message>Find the population of Tokyo.</user_message>\n<assistant_action>Searches and provides answer without task tracking.</assistant_action>\n<reasoning>Single straightforward lookup completable immediately.</reasoning>\n</example>\n\n<example type=\"skip_trivial_task\">\n<user_message>Summarize this 2-paragraph email.</user_message>\n<assistant_action>Provides summary directly without creating tasks.</assistant_action>\n<reasoning>Single simple action requiring no breakdown or progress tracking.</reasoning>\n</example>\n\n<example type=\"skip_single_action\">\n<user_message>Check if my flight is on time.</user_message>\n<assistant_action>Performs lookup and reports status without task management.</assistant_action>\n<reasoning>One-step action with immediate completion, no organizational benefit from tasks.</reasoning>\n</example>\n\n### BEST PRACTICES\n\nFor task creation: use descriptive unique IDs reflecting the work, start first task as `in-progress`, batch initial creation with beginning work.\nFor progress tracking: update status immediately upon completion, keep only one `in-progress` task unless parallel work is natural, add follow-up tasks as they emerge. For task breakdown: aim for reasonably-scoped tasks, group related small actions into logical units, split tasks requiring different approaches.\n\nWhen uncertain whether to use task management, err on the side of creating tasks.\nProactive organization demonstrates thoroughness and ensures comprehensive work completion.\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,WAAW;AAC9B,SAASC,YAAY;;;ACVrB;;;ADeA,IAAMC,aAAaC,aAAKC,KAAKC,KAAK,MAAA;AAE3B,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAaC;EACf;EACAC,OAAcC,cAAO;IACnBC,OAAcC,aAAMf,UAAAA;EACtB,CAAA;EACAgB,QAAeC;EACfC,UAAU;IAACC,UAAUC;IAASC,SAASD;;AACzC,CAAA;AAKA,IAAAE,wBAAelB,YAAYmB,KACzBlB,UAAUmB,YACDC,UAAG,WAAW,EAAEX,OAAOY,SAAQ,GAAE;AACtC,QAAMC,QAAQ,OAAOC,cAAMC;AAG3B,QAAMC,OAAO,OAAOT,SAASU,KAAKJ,MAAMG,IAAI;AAE5CE,MAAIC,OAAOH,MAAM,CAACA,UAAAA;AAChB,eAAWI,QAAQR,UAAU;AAC3B,YAAMS,eAAeL,MAAKhB,MAAMsB,KAAK,CAACC,MAAMA,EAAEC,OAAOJ,KAAKI,EAAE;AAC5D,UAAIH,cAAc;AAChBA,qBAAaI,QAAQL,KAAKK;AAC1BJ,qBAAaK,SAASN,KAAKM;MAC7B,OAAO;AACLV,QAAAA,MAAKhB,MAAM2B,KAAK;UACdH,IAAIJ,KAAKI;UACTC,OAAOL,KAAKK;UACZC,QAAQN,KAAKM;QACf,CAAA;MACF;IACF;EACF,CAAA;AAEA,SAAOE;;;;YAIDzC,aAAK0C,WAAWb,IAAAA,CAAAA;;;AAGxB,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Schema", "AiContext", "Operation", "Database", "Obj", "trim", "SimpleTask", "Plan", "Task", "omit", "UpdateTasks", "Operation", "make", "meta", "key", "name", "description", "INSTRUCTIONS", "input", "Struct", "tasks", "Array", "output", "Any", "services", "AiContext", "Service", "Database", "update_tasks_default", "pipe", "withHandler", "fn", "newTasks", "agent", "Agent", "getFromChatContext", "plan", "load", "Obj", "update", "task", "existingTask", "find", "t", "id", "title", "status", "push", "trim", "formatPlan"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AddArtifact
|
|
3
|
+
} from "./chunk-KS3IA6FQ.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-4IVGW6CI.mjs"), () => import("./agent-F4L7UXME.mjs"), () => import("./get-context-FBYWIP72.mjs"), () => import("./qualifier-DAF4H7V3.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-W2722TC5.mjs.map
|