@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,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ObjectDelete
|
|
3
|
+
} from "./chunk-7UCYAP3T.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/blueprints/database/functions/object-delete.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Operation } from "@dxos/compute";
|
|
9
|
+
import { Database } from "@dxos/echo";
|
|
10
|
+
var object_delete_default = ObjectDelete.pipe(Operation.withHandler(Effect.fn(function* ({ obj }) {
|
|
11
|
+
const { db } = yield* Database.Service;
|
|
12
|
+
const object = yield* Database.load(obj);
|
|
13
|
+
db.remove(object);
|
|
14
|
+
})));
|
|
15
|
+
export {
|
|
16
|
+
object_delete_default as default
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=object-delete-PZJQN5KW.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/database/functions/object-delete.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\n\nimport { ObjectDelete } from './definitions';\n\nexport default ObjectDelete.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ obj }) {\n const { db } = yield* Database.Service;\n const object = yield* Database.load(obj);\n db.remove(object);\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAIzB,IAAA,wBAAeC,aAAaC,KAC1BC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAG,GAAE;AAC1B,QAAM,EAAEC,GAAE,IAAK,OAAOC,SAASC;AAC/B,QAAMC,SAAS,OAAOF,SAASG,KAAKL,GAAAA;AACpCC,KAAGK,OAAOF,MAAAA;AACZ,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Operation", "Database", "ObjectDelete", "pipe", "Operation", "withHandler", "fn", "obj", "db", "Database", "Service", "object", "load", "remove"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ObjectUpdate
|
|
3
|
+
} from "./chunk-7UCYAP3T.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/blueprints/database/functions/object-update.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Operation } from "@dxos/compute";
|
|
9
|
+
import { Database, Entity } from "@dxos/echo";
|
|
10
|
+
import { EncodedReference } from "@dxos/echo-protocol";
|
|
11
|
+
var object_update_default = ObjectUpdate.pipe(Operation.withHandler(Effect.fn(function* ({ obj, properties }) {
|
|
12
|
+
const { db } = yield* Database.Service;
|
|
13
|
+
const object = yield* Database.load(obj);
|
|
14
|
+
Entity.update(object, (obj2) => {
|
|
15
|
+
for (const [key, value] of Object.entries(properties)) {
|
|
16
|
+
if (EncodedReference.isEncodedReference(value)) {
|
|
17
|
+
obj2[key] = db.makeRef(EncodedReference.toDXN(value));
|
|
18
|
+
} else {
|
|
19
|
+
obj2[key] = value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return Entity.toJSON(object);
|
|
24
|
+
})));
|
|
25
|
+
export {
|
|
26
|
+
object_update_default as default
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=object-update-R43N3VJX.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/database/functions/object-update.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity } from '@dxos/echo';\nimport { EncodedReference } from '@dxos/echo-protocol';\n\nimport { ObjectUpdate } from './definitions';\n\nexport default ObjectUpdate.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ obj, properties }) {\n const { db } = yield* Database.Service;\n const object = yield* Database.load(obj);\n Entity.update(object as Entity.Any, (obj) => {\n for (const [key, value] of Object.entries(properties)) {\n if (EncodedReference.isEncodedReference(value)) {\n obj[key] = db.makeRef(EncodedReference.toDXN(value));\n } else {\n obj[key] = value;\n }\n }\n });\n return Entity.toJSON(object);\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,cAAc;AACjC,SAASC,wBAAwB;AAIjC,IAAA,wBAAeC,aAAaC,KAC1BC,UAAUC,YACDC,UAAG,WAAW,EAAEC,KAAKC,WAAU,GAAE;AACtC,QAAM,EAAEC,GAAE,IAAK,OAAOC,SAASC;AAC/B,QAAMC,SAAS,OAAOF,SAASG,KAAKN,GAAAA;AACpCO,SAAOC,OAAOH,QAAsB,CAACL,SAAAA;AACnC,eAAW,CAACS,KAAKC,KAAAA,KAAUC,OAAOC,QAAQX,UAAAA,GAAa;AACrD,UAAIY,iBAAiBC,mBAAmBJ,KAAAA,GAAQ;AAC9CV,QAAAA,KAAIS,GAAAA,IAAOP,GAAGa,QAAQF,iBAAiBG,MAAMN,KAAAA,CAAAA;MAC/C,OAAO;AACLV,QAAAA,KAAIS,GAAAA,IAAOC;MACb;IACF;EACF,CAAA;AACA,SAAOH,OAAOU,OAAOZ,MAAAA;AACvB,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Operation", "Database", "Entity", "EncodedReference", "ObjectUpdate", "pipe", "Operation", "withHandler", "fn", "obj", "properties", "db", "Database", "Service", "object", "load", "Entity", "update", "key", "value", "Object", "entries", "EncodedReference", "isEncodedReference", "makeRef", "toDXN", "toJSON"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentBlueprintHandlers,
|
|
3
|
+
blueprint_default
|
|
4
|
+
} from "./chunk-W2722TC5.mjs";
|
|
5
|
+
import {
|
|
6
|
+
AddArtifact,
|
|
7
|
+
AgentWorker,
|
|
8
|
+
GetContext,
|
|
9
|
+
Qualifier
|
|
10
|
+
} from "./chunk-KS3IA6FQ.mjs";
|
|
11
|
+
import "./chunk-5GPL2WXU.mjs";
|
|
12
|
+
import "./chunk-NR3GTWRC.mjs";
|
|
13
|
+
import "./chunk-KGU725LW.mjs";
|
|
14
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
15
|
+
export {
|
|
16
|
+
AddArtifact,
|
|
17
|
+
blueprint_default as AgentBlueprint,
|
|
18
|
+
AgentBlueprintHandlers,
|
|
19
|
+
AgentWorker,
|
|
20
|
+
GetContext,
|
|
21
|
+
Qualifier
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=project-VVXXUMAI.mjs.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentRules
|
|
3
|
+
} from "./chunk-BCT55UTL.mjs";
|
|
4
|
+
import "./chunk-5GPL2WXU.mjs";
|
|
5
|
+
import "./chunk-NR3GTWRC.mjs";
|
|
6
|
+
import "./chunk-KGU725LW.mjs";
|
|
7
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
8
|
+
|
|
9
|
+
// src/blueprints/project-wizard/functions/project-rules.ts
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import { Operation } from "@dxos/compute";
|
|
12
|
+
import { trim } from "@dxos/util";
|
|
13
|
+
var project_rules_default = AgentRules.pipe(Operation.withHandler(Effect.fnUntraced(function* () {
|
|
14
|
+
return trim`
|
|
15
|
+
You can ask the user for qualifying questions about the agents.
|
|
16
|
+
If agents should actively read incoming emails, query for mailboxes and add a subscription to them.
|
|
17
|
+
If the user wants the agent to run on a schedule (e.g. "every morning", "every 5 minutes"), set the agent's \`cron\` field to a standard cron expression (e.g. \`0 9 * * *\` for daily at 09:00, \`*/5 * * * *\` for every 5 minutes). Timer triggers bypass the qualifier and invoke the agent worker directly on the schedule.
|
|
18
|
+
Use [query-blueprints] from the Blueprint Manager to query for available blueprints and their keys.
|
|
19
|
+
Use [create-agent] function to create a new agent.
|
|
20
|
+
|
|
21
|
+
Notable blueprints (query to get their keys):
|
|
22
|
+
|
|
23
|
+
- Blueprint Manger - allows agent to self-enable blueprints (always include this one).
|
|
24
|
+
- Database -- CRUD on objects in the ECHO database.
|
|
25
|
+
- Markdown -- Create and edit markdown documents.
|
|
26
|
+
- Websearch -- Search the web for information.
|
|
27
|
+
- Browser -- Virtual browser via playwright when simple WebSearch is not enough.
|
|
28
|
+
- Memory -- Memory to store and retrieve information.
|
|
29
|
+
|
|
30
|
+
Experimental blueprints that are discouraged:
|
|
31
|
+
|
|
32
|
+
- Research
|
|
33
|
+
- Design
|
|
34
|
+
- Agent (not wizard) -- those are agent internals, they are auto-added to every new agent.
|
|
35
|
+
|
|
36
|
+
<example_agent>
|
|
37
|
+
## CRM from your inbox
|
|
38
|
+
|
|
39
|
+
Blueprints: database, websearch, browser
|
|
40
|
+
|
|
41
|
+
Subscribe to your inboxes.
|
|
42
|
+
Spec says that on every email we should extract People and Organizations and save them to the database, but first query the database for existing people and organizations to avoid duplicates.
|
|
43
|
+
Also run a quick research on the web to find more information about the person or organization and save it to the database.
|
|
44
|
+
</example_agent>
|
|
45
|
+
|
|
46
|
+
<example_agent>
|
|
47
|
+
## Parcel tracking
|
|
48
|
+
|
|
49
|
+
Blueprints: database
|
|
50
|
+
|
|
51
|
+
Based on emails from vendors (amazon, fedex, etc.) track the status of the parcels ordered online and keep a table of orders.
|
|
52
|
+
|
|
53
|
+
Before creating an agent, use the Database blueprint to create an Order schema:
|
|
54
|
+
- seller
|
|
55
|
+
- name
|
|
56
|
+
- price
|
|
57
|
+
- status (enum of: pending, shipped, waiting for pickup, delivered, cancelled, returned)
|
|
58
|
+
- tracking numbers/notes
|
|
59
|
+
- date of delivery
|
|
60
|
+
- shipping address
|
|
61
|
+
</example_agent>
|
|
62
|
+
|
|
63
|
+
<example_agent>
|
|
64
|
+
## Comms assistant
|
|
65
|
+
|
|
66
|
+
Blueprints: database, markdown, inbox
|
|
67
|
+
|
|
68
|
+
Helps user maintain comms with external parites via email.
|
|
69
|
+
Ask user specifically who they want to communicate with and on what topic.
|
|
70
|
+
Agent should keep a markdown document in artifacts outlining the current state of the comms.
|
|
71
|
+
Agent should propose drafts to follow up on the comms. Only propose sensible drafts, do not propose drafts that are not relevant or actionable.
|
|
72
|
+
</example_agent>
|
|
73
|
+
`;
|
|
74
|
+
})));
|
|
75
|
+
export {
|
|
76
|
+
project_rules_default as default
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=project-rules-KSVSOZJV.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/project-wizard/functions/project-rules.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { AgentRules } from './definitions';\n\nexport default AgentRules.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* () {\n return trim`\n You can ask the user for qualifying questions about the agents.\n If agents should actively read incoming emails, query for mailboxes and add a subscription to them.\n If the user wants the agent to run on a schedule (e.g. \"every morning\", \"every 5 minutes\"), set the agent's \\`cron\\` field to a standard cron expression (e.g. \\`0 9 * * *\\` for daily at 09:00, \\`*/5 * * * *\\` for every 5 minutes). Timer triggers bypass the qualifier and invoke the agent worker directly on the schedule.\n Use [query-blueprints] from the Blueprint Manager to query for available blueprints and their keys.\n Use [create-agent] function to create a new agent.\n\n Notable blueprints (query to get their keys):\n\n - Blueprint Manger - allows agent to self-enable blueprints (always include this one).\n - Database -- CRUD on objects in the ECHO database.\n - Markdown -- Create and edit markdown documents.\n - Websearch -- Search the web for information.\n - Browser -- Virtual browser via playwright when simple WebSearch is not enough.\n - Memory -- Memory to store and retrieve information.\n\n Experimental blueprints that are discouraged:\n\n - Research\n - Design\n - Agent (not wizard) -- those are agent internals, they are auto-added to every new agent.\n\n <example_agent>\n ## CRM from your inbox\n\n Blueprints: database, websearch, browser\n\n Subscribe to your inboxes.\n Spec says that on every email we should extract People and Organizations and save them to the database, but first query the database for existing people and organizations to avoid duplicates.\n Also run a quick research on the web to find more information about the person or organization and save it to the database.\n </example_agent>\n\n <example_agent>\n ## Parcel tracking\n\n Blueprints: database\n\n Based on emails from vendors (amazon, fedex, etc.) track the status of the parcels ordered online and keep a table of orders.\n\n Before creating an agent, use the Database blueprint to create an Order schema:\n - seller\n - name\n - price\n - status (enum of: pending, shipped, waiting for pickup, delivered, cancelled, returned)\n - tracking numbers/notes\n - date of delivery\n - shipping address\n </example_agent>\n\n <example_agent>\n ## Comms assistant\n\n Blueprints: database, markdown, inbox\n\n Helps user maintain comms with external parites via email.\n Ask user specifically who they want to communicate with and on what topic.\n Agent should keep a markdown document in artifacts outlining the current state of the comms.\n Agent should propose drafts to follow up on the comms. Only propose sensible drafts, do not propose drafts that are not relevant or actionable.\n </example_agent>\n `;\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAIrB,IAAA,wBAAeC,WAAWC,KACxBC,UAAUC,YACDC,kBAAW,aAAA;AAChB,SAAOC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DT,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Operation", "trim", "AgentRules", "pipe", "Operation", "withHandler", "fnUntraced", "trim"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AgentPrompt
|
|
3
|
+
} from "./chunk-COL54UJ3.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Chat
|
|
6
|
+
} from "./chunk-NR3GTWRC.mjs";
|
|
7
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
8
|
+
|
|
9
|
+
// src/functions/agent/prompt.ts
|
|
10
|
+
import * as Tool from "@effect/ai/Tool";
|
|
11
|
+
import * as Toolkit from "@effect/ai/Toolkit";
|
|
12
|
+
import * as Array from "effect/Array";
|
|
13
|
+
import * as Deferred from "effect/Deferred";
|
|
14
|
+
import * as Effect from "effect/Effect";
|
|
15
|
+
import * as Function from "effect/Function";
|
|
16
|
+
import * as Layer from "effect/Layer";
|
|
17
|
+
import * as Option from "effect/Option";
|
|
18
|
+
import * as Schema from "effect/Schema";
|
|
19
|
+
import { AiService, OpaqueToolkit } from "@dxos/ai";
|
|
20
|
+
import { AiSession, getOperationFromTool, makeToolExecutionService, makeToolResolverFromOperations } from "@dxos/assistant";
|
|
21
|
+
import { Template, Trace, Operation } from "@dxos/compute";
|
|
22
|
+
import { Database, Feed, Obj, Ref } from "@dxos/echo";
|
|
23
|
+
import { acquireReleaseResource } from "@dxos/effect";
|
|
24
|
+
import { invariant } from "@dxos/invariant";
|
|
25
|
+
import { log } from "@dxos/log";
|
|
26
|
+
import { trim } from "@dxos/util";
|
|
27
|
+
|
|
28
|
+
// src/errors.ts
|
|
29
|
+
import { BaseError } from "@dxos/errors";
|
|
30
|
+
var PromptError = class extends BaseError.extend("PromptError") {
|
|
31
|
+
constructor(message, context) {
|
|
32
|
+
super({
|
|
33
|
+
message,
|
|
34
|
+
context
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// src/functions/agent/prompt.ts
|
|
40
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/functions/agent/prompt.ts";
|
|
41
|
+
var DEFAULT_MODEL = "@anthropic/claude-opus-4-6";
|
|
42
|
+
var prompt_default = AgentPrompt.pipe(Operation.withHandler(Effect.fnUntraced(function* (data) {
|
|
43
|
+
log.info("processing input", {
|
|
44
|
+
input: data.input
|
|
45
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 26, S: this });
|
|
46
|
+
const input = yield* Ref.isRef(data.input) ? Database.load(data.input).pipe(Effect.map(Obj.toJSON)) : Effect.succeed(data.input);
|
|
47
|
+
yield* Database.flush();
|
|
48
|
+
const prompt = yield* Database.load(data.prompt);
|
|
49
|
+
yield* Trace.emitStatus(`Running ${prompt.id}`);
|
|
50
|
+
log.info("starting agent", {
|
|
51
|
+
prompt: prompt.id,
|
|
52
|
+
input
|
|
53
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 33, S: this });
|
|
54
|
+
const blueprints = yield* Function.pipe(prompt.blueprints, Effect.forEach(Database.loadOption), Effect.map(Array.filter(Option.isSome)), Effect.map(Array.map((option) => option.value)));
|
|
55
|
+
const objects = yield* Function.pipe(prompt.context, Effect.forEach(Database.loadOption), Effect.map(Array.filter(Option.isSome)), Effect.map(Array.map((option) => option.value)));
|
|
56
|
+
const promptInstructions = yield* Database.load(prompt.instructions.source);
|
|
57
|
+
let promptText = Template.process(promptInstructions.content, input);
|
|
58
|
+
if (input !== void 0) {
|
|
59
|
+
promptText += `
|
|
60
|
+
<input>${JSON.stringify(input)}</input>`;
|
|
61
|
+
}
|
|
62
|
+
let systemText = trim`
|
|
63
|
+
You are an agent running in the non-interactive mode.
|
|
64
|
+
The user is unable to see what you are doing, and cannot answer any questions.
|
|
65
|
+
Do not ask questions.
|
|
66
|
+
Complete the task before you, and at the end call [completeJob] with the output.
|
|
67
|
+
If you are unable to complete the task, call [completeJob] with the failure reason.
|
|
68
|
+
If no output is required, call [completeJob] with an empty object: {}
|
|
69
|
+
Do not stop until you call [completeJob].
|
|
70
|
+
`;
|
|
71
|
+
if (data.systemInstructions) {
|
|
72
|
+
systemText += `
|
|
73
|
+
|
|
74
|
+
${data.systemInstructions}`;
|
|
75
|
+
}
|
|
76
|
+
const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);
|
|
77
|
+
let feed;
|
|
78
|
+
if (data.chat) {
|
|
79
|
+
const chat = yield* Database.load(data.chat);
|
|
80
|
+
invariant(Obj.instanceOf(Chat, chat), "Expected Chat object.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 60, S: this, A: ["Obj.instanceOf(Chat.Chat, chat)", "'Expected Chat object.'"] });
|
|
81
|
+
feed = yield* Database.load(chat.feed);
|
|
82
|
+
} else {
|
|
83
|
+
feed = yield* Database.add(Feed.make());
|
|
84
|
+
}
|
|
85
|
+
const resultSink = yield* Deferred.make();
|
|
86
|
+
const promptToolkit = makePromptAgentToolkit({
|
|
87
|
+
output: Schema.Any,
|
|
88
|
+
resultSink
|
|
89
|
+
});
|
|
90
|
+
const runtime2 = yield* Effect.runtime();
|
|
91
|
+
const session = yield* acquireReleaseResource(() => new AiSession.Session({
|
|
92
|
+
feed,
|
|
93
|
+
runtime: runtime2
|
|
94
|
+
}));
|
|
95
|
+
yield* Effect.promise(() => session.context.bind({
|
|
96
|
+
blueprints: blueprints.map((blueprint) => Ref.make(blueprint)),
|
|
97
|
+
objects: objects.map((object) => Ref.make(object))
|
|
98
|
+
}));
|
|
99
|
+
yield* session.createRequest({
|
|
100
|
+
prompt: promptText,
|
|
101
|
+
system: systemText,
|
|
102
|
+
toolkit: promptToolkit
|
|
103
|
+
}).pipe(Effect.provide(Layer.mergeAll(modelLayer, ToolExecutionService({
|
|
104
|
+
feed
|
|
105
|
+
}), makeToolResolverFromOperations())));
|
|
106
|
+
return yield* Deferred.poll(resultSink).pipe(Effect.flatten, Effect.flatten, Effect.catchTag("NoSuchElementException", () => Effect.gen(function* () {
|
|
107
|
+
yield* session.createRequest({
|
|
108
|
+
prompt: "You must signal task completion by calling [completeJob] with the output or failure reason.",
|
|
109
|
+
system: systemText,
|
|
110
|
+
toolkit: promptToolkit
|
|
111
|
+
}).pipe(Effect.provide(Layer.mergeAll(modelLayer, ToolExecutionService({
|
|
112
|
+
feed
|
|
113
|
+
}), makeToolResolverFromOperations())));
|
|
114
|
+
return yield* Deferred.poll(resultSink).pipe(Effect.flatten, Effect.flatten, Effect.catchTag("NoSuchElementException", () => Effect.fail(new PromptError("Agent did not signal task completion.", {}))));
|
|
115
|
+
})));
|
|
116
|
+
}, Effect.tapBoth({
|
|
117
|
+
onSuccess: () => Database.flush(),
|
|
118
|
+
onFailure: () => Database.flush()
|
|
119
|
+
}), Effect.scoped)), Operation.opaqueHandler);
|
|
120
|
+
var makePromptAgentToolkit = (options) => {
|
|
121
|
+
class PromptAgentToolkit extends Toolkit.make(Tool.make("completeJob", {
|
|
122
|
+
parameters: {
|
|
123
|
+
success: Schema.optional(Schema.Any),
|
|
124
|
+
failure: Schema.optional(Schema.Struct({
|
|
125
|
+
message: Schema.String.annotations({
|
|
126
|
+
description: "Short message describing the error."
|
|
127
|
+
}),
|
|
128
|
+
description: Schema.optional(Schema.String).annotations({
|
|
129
|
+
description: "Optional longer message describing in detail what went wrong"
|
|
130
|
+
})
|
|
131
|
+
}))
|
|
132
|
+
}
|
|
133
|
+
})) {
|
|
134
|
+
}
|
|
135
|
+
const layer = PromptAgentToolkit.toLayer({
|
|
136
|
+
completeJob: Effect.fnUntraced(function* (result) {
|
|
137
|
+
if (result.failure) {
|
|
138
|
+
yield* Deferred.fail(options.resultSink, new PromptError(result.failure.message, {
|
|
139
|
+
description: result.failure.description
|
|
140
|
+
}));
|
|
141
|
+
} else {
|
|
142
|
+
yield* Deferred.succeed(options.resultSink, result.success);
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
});
|
|
146
|
+
return OpaqueToolkit.make(PromptAgentToolkit, layer);
|
|
147
|
+
};
|
|
148
|
+
var ToolExecutionService = ({ feed }) => Layer.unwrapEffect(Effect.gen(function* () {
|
|
149
|
+
const operationInvoker = yield* Operation.Service;
|
|
150
|
+
return makeToolExecutionService({
|
|
151
|
+
invoke: (tool, input) => Effect.gen(function* () {
|
|
152
|
+
const operationDef = getOperationFromTool(tool).pipe(Option.getOrThrow);
|
|
153
|
+
log("invoking operation", {
|
|
154
|
+
operationDef,
|
|
155
|
+
input
|
|
156
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 133, S: this });
|
|
157
|
+
const result = yield* operationInvoker.invoke(operationDef, input, {
|
|
158
|
+
conversation: Obj.getDXN(feed).toString()
|
|
159
|
+
}).pipe(Effect.orDie);
|
|
160
|
+
log("result", {
|
|
161
|
+
result
|
|
162
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 140, S: this });
|
|
163
|
+
return result;
|
|
164
|
+
})
|
|
165
|
+
});
|
|
166
|
+
}));
|
|
167
|
+
export {
|
|
168
|
+
prompt_default as default
|
|
169
|
+
};
|
|
170
|
+
//# sourceMappingURL=prompt-INL55Q2B.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/functions/agent/prompt.ts", "../../../src/errors.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Array from 'effect/Array';\nimport * as Deferred from 'effect/Deferred';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport {\n AiSession,\n getOperationFromTool,\n makeToolExecutionService,\n makeToolResolverFromOperations,\n} from '@dxos/assistant';\nimport { Template, Trace, Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { PromptError } from '../../errors';\nimport * as Chat from '../../types/Chat';\nimport { AgentPrompt } from './definitions';\n\nconst DEFAULT_MODEL: ModelName = '@anthropic/claude-opus-4-6';\n\nexport default AgentPrompt.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* (data) {\n log.info('processing input', { input: data.input });\n\n const input = yield* Ref.isRef(data.input)\n ? Database.load(data.input).pipe(Effect.map(Obj.toJSON))\n : Effect.succeed(data.input);\n\n yield* Database.flush();\n const prompt = yield* Database.load(data.prompt);\n yield* Trace.emitStatus(`Running ${prompt.id}`);\n\n log.info('starting agent', { prompt: prompt.id, input });\n\n const blueprints = yield* Function.pipe(\n prompt.blueprints,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const objects = yield* Function.pipe(\n prompt.context,\n Effect.forEach(Database.loadOption),\n Effect.map(Array.filter(Option.isSome)),\n Effect.map(Array.map((option) => option.value)),\n );\n\n const promptInstructions = yield* Database.load(prompt.instructions.source);\n let promptText = Template.process(promptInstructions.content, input);\n\n if (input !== undefined) {\n promptText += `\\n<input>${JSON.stringify(input)}</input>`;\n }\n\n let systemText = trim`\n You are an agent running in the non-interactive mode.\n The user is unable to see what you are doing, and cannot answer any questions.\n Do not ask questions.\n Complete the task before you, and at the end call [completeJob] with the output.\n If you are unable to complete the task, call [completeJob] with the failure reason.\n If no output is required, call [completeJob] with an empty object: {}\n Do not stop until you call [completeJob].\n `;\n if (data.systemInstructions) {\n systemText += `\\n\\n${data.systemInstructions}`;\n }\n\n const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);\n\n let feed: Feed.Feed;\n if (data.chat) {\n const chat = yield* Database.load(data.chat);\n invariant(Obj.instanceOf(Chat.Chat, chat), 'Expected Chat object.');\n feed = yield* Database.load(chat.feed);\n } else {\n feed = yield* Database.add(Feed.make());\n }\n\n const resultSink = yield* Deferred.make<unknown, PromptError>();\n const promptToolkit = makePromptAgentToolkit({\n output: Schema.Any, // TODO(dmaretskyi): Use prompt's output schema.\n resultSink,\n });\n\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const session = yield* acquireReleaseResource(() => new AiSession.Session({ feed, runtime }));\n\n yield* Effect.promise(() =>\n session.context.bind({\n blueprints: blueprints.map((blueprint) => Ref.make(blueprint)),\n objects: objects.map((object) => Ref.make(object as Obj.Unknown)),\n }),\n );\n\n yield* session\n .createRequest({\n prompt: promptText,\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.gen(function* () {\n yield* session\n .createRequest({\n prompt: 'You must signal task completion by calling [completeJob] with the output or failure reason.',\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.fail(new PromptError('Agent did not signal task completion.', {})),\n ),\n );\n }),\n ),\n );\n },\n Effect.tapBoth({\n onSuccess: () => Database.flush(),\n onFailure: () => Database.flush(),\n }),\n Effect.scoped,\n ),\n ),\n Operation.opaqueHandler,\n);\n\nconst makePromptAgentToolkit = (options: {\n output: Schema.Schema.Any;\n resultSink: Deferred.Deferred<unknown, PromptError>;\n}) => {\n class PromptAgentToolkit extends Toolkit.make(\n Tool.make('completeJob', {\n parameters: {\n success: Schema.optional(Schema.Any), // TODO(dmaretskyi): Pipe output schema here.\n failure: Schema.optional(\n Schema.Struct({\n message: Schema.String.annotations({\n description: 'Short message describing the error.',\n }),\n description: Schema.optional(Schema.String).annotations({\n description: 'Optional longer message describing in detail what went wrong',\n }),\n }),\n ),\n },\n }),\n ) {}\n const layer = PromptAgentToolkit.toLayer({\n completeJob: Effect.fnUntraced(function* (result) {\n if (result.failure) {\n yield* Deferred.fail(\n options.resultSink,\n new PromptError(result.failure.message, {\n description: result.failure.description,\n }),\n );\n } else {\n yield* Deferred.succeed(options.resultSink, result.success);\n }\n }),\n });\n\n return OpaqueToolkit.make(PromptAgentToolkit, layer);\n};\n\ninterface ToolExecutionServiceOptions {\n feed: Feed.Feed;\n}\n\nconst ToolExecutionService = ({ feed }: ToolExecutionServiceOptions) =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n const operationInvoker = yield* Operation.Service;\n return makeToolExecutionService({\n invoke: (tool, input) =>\n Effect.gen(function* () {\n const operationDef = getOperationFromTool(tool).pipe(Option.getOrThrow);\n log('invoking operation', { operationDef, input });\n const result = yield* operationInvoker\n .invoke(operationDef, input, {\n conversation: Obj.getDXN(feed).toString(),\n })\n .pipe(Effect.orDie);\n log('result', { result });\n return result;\n }),\n });\n }),\n );\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\nimport { DXN } from '@dxos/keys';\n\n/**\n * Agent could not execute prompt.\n */\nexport class PromptError extends BaseError.extend('PromptError') {\n constructor(\n message: string,\n context: {\n description?: string;\n prompt?: DXN.String;\n chat?: DXN.String;\n },\n ) {\n super({\n message,\n context,\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Tool", "Toolkit", "Array", "Deferred", "Effect", "Function", "Layer", "Option", "Schema", "AiService", "OpaqueToolkit", "AiSession", "getOperationFromTool", "makeToolExecutionService", "makeToolResolverFromOperations", "Template", "Trace", "Operation", "Database", "Feed", "Obj", "Ref", "acquireReleaseResource", "invariant", "log", "trim", "BaseError", "PromptError", "extend", "message", "context", "DEFAULT_MODEL", "log", "data", "input", "Database", "prompt", "load", "Trace", "emitStatus", "info", "objects", "Function", "context", "promptInstructions", "instructions", "promptText", "process", "JSON", "systemText", "trim", "modelLayer", "AiService", "model", "invariant", "Obj", "feed", "chat", "add", "Feed", "make", "resultSink", "Deferred", "output", "Any", "runtime", "Effect", "map", "object", "Ref", "session", "createRequest", "system", "toolkit", "pipe", "makeToolResolverFromOperations", "tapBoth", "onSuccess", "onFailure", "scoped", "Operation", "opaqueHandler", "makePromptAgentToolkit", "options", "PromptAgentToolkit", "Toolkit", "failure", "Schema", "annotations", "description", "result", "ToolExecutionService", "unwrapEffect", "makeToolExecutionService", "invoke", "operationDef", "conversation", "getDXN", "toString", "orDie"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Qualifier
|
|
3
|
+
} from "./chunk-KS3IA6FQ.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Agent_exports,
|
|
6
|
+
Plan_exports
|
|
7
|
+
} from "./chunk-5GPL2WXU.mjs";
|
|
8
|
+
import "./chunk-NR3GTWRC.mjs";
|
|
9
|
+
import "./chunk-KGU725LW.mjs";
|
|
10
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
11
|
+
|
|
12
|
+
// src/blueprints/project/functions/qualifier.ts
|
|
13
|
+
import * as LanguageModel from "@effect/ai/LanguageModel";
|
|
14
|
+
import * as Prompt from "@effect/ai/Prompt";
|
|
15
|
+
import * as Effect from "effect/Effect";
|
|
16
|
+
import * as Schema from "effect/Schema";
|
|
17
|
+
import { AiService } from "@dxos/ai";
|
|
18
|
+
import { Operation } from "@dxos/compute";
|
|
19
|
+
import { Database, Feed, Obj, Ref } from "@dxos/echo";
|
|
20
|
+
import { invariant } from "@dxos/invariant";
|
|
21
|
+
import { trim } from "@dxos/util";
|
|
22
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/project/functions/qualifier.ts";
|
|
23
|
+
var qualifier_default = Qualifier.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ agent: agentRef, event }) {
|
|
24
|
+
const agent = yield* Database.load(agentRef);
|
|
25
|
+
invariant(Obj.instanceOf(Agent_exports.Agent, agent), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 17, S: this, A: ["Obj.instanceOf(Agent.Agent, agent)", ""] });
|
|
26
|
+
invariant(agent.chat, "Agent has no chat.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 18, S: this, A: ["agent.chat", "'Agent has no chat.'"] });
|
|
27
|
+
const { id, name, feed: queue } = agent;
|
|
28
|
+
if (!queue) {
|
|
29
|
+
throw new Error("Agent has no queue.");
|
|
30
|
+
}
|
|
31
|
+
const plan = yield* Database.load(agent.plan);
|
|
32
|
+
const instructions = yield* Database.load(agent.instructions);
|
|
33
|
+
const { value } = yield* Effect.scoped(LanguageModel.generateObject({
|
|
34
|
+
schema: Schema.Struct({
|
|
35
|
+
isRelevant: Schema.Boolean
|
|
36
|
+
}),
|
|
37
|
+
prompt: Prompt.fromMessages([
|
|
38
|
+
Prompt.systemMessage({
|
|
39
|
+
content: trim`
|
|
40
|
+
You are a qualifying agent that determines if the event is relevant to the agent.
|
|
41
|
+
Respond with true if the event is relevant to the agent, false otherwise.
|
|
42
|
+
If you are not sure, return true.
|
|
43
|
+
The qualified events will be forwarded to the larger agent that will process them.
|
|
44
|
+
<agent id="${id}" name="${name}">
|
|
45
|
+
<instructions>
|
|
46
|
+
${instructions.content}
|
|
47
|
+
</instructions>
|
|
48
|
+
<plan>
|
|
49
|
+
${Plan_exports.formatPlan(plan)}
|
|
50
|
+
</plan>
|
|
51
|
+
</agent>
|
|
52
|
+
`
|
|
53
|
+
}),
|
|
54
|
+
Prompt.userMessage({
|
|
55
|
+
content: [
|
|
56
|
+
Prompt.makePart("text", {
|
|
57
|
+
text: trim`
|
|
58
|
+
<event>
|
|
59
|
+
${JSON.stringify(event, null, 2)}
|
|
60
|
+
</event>
|
|
61
|
+
`
|
|
62
|
+
})
|
|
63
|
+
]
|
|
64
|
+
})
|
|
65
|
+
])
|
|
66
|
+
}));
|
|
67
|
+
const { isRelevant } = value;
|
|
68
|
+
if (isRelevant) {
|
|
69
|
+
const feedTarget = yield* Database.load(queue);
|
|
70
|
+
if ("queue" in event && event.item) {
|
|
71
|
+
const obj = event.item;
|
|
72
|
+
yield* Feed.append(feedTarget, [
|
|
73
|
+
obj
|
|
74
|
+
]);
|
|
75
|
+
} else if ("subject" in event && Ref.isRef(event.subject)) {
|
|
76
|
+
const obj = yield* Database.load(event.subject);
|
|
77
|
+
yield* Feed.append(feedTarget, [
|
|
78
|
+
obj
|
|
79
|
+
]);
|
|
80
|
+
} else {
|
|
81
|
+
throw new Error("Invalid event.");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}, Effect.provide(AiService.model("@anthropic/claude-sonnet-4-5")))));
|
|
85
|
+
export {
|
|
86
|
+
qualifier_default as default
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=qualifier-DAF4H7V3.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/project/functions/qualifier.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as LanguageModel from '@effect/ai/LanguageModel';\nimport * as Prompt from '@effect/ai/Prompt';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService } from '@dxos/ai';\nimport { Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { trim } from '@dxos/util';\n\nimport { Plan, Agent } from '../../../types';\nimport { Qualifier } from './definitions';\n\nexport default Qualifier.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ agent: agentRef, event }) {\n const agent = yield* Database.load(agentRef);\n invariant(Obj.instanceOf(Agent.Agent, agent));\n invariant(agent.chat, 'Agent has no chat.');\n\n const { id, name, feed: queue } = agent;\n if (!queue) {\n throw new Error('Agent has no queue.');\n }\n\n const plan = yield* Database.load(agent.plan);\n const instructions = yield* Database.load(agent.instructions);\n\n const { value } = yield* Effect.scoped(\n LanguageModel.generateObject({\n schema: Schema.Struct({\n isRelevant: Schema.Boolean,\n }),\n prompt: Prompt.fromMessages([\n Prompt.systemMessage({\n content: trim`\n You are a qualifying agent that determines if the event is relevant to the agent.\n Respond with true if the event is relevant to the agent, false otherwise.\n If you are not sure, return true.\n The qualified events will be forwarded to the larger agent that will process them.\n <agent id=\"${id}\" name=\"${name}\">\n <instructions>\n ${instructions.content}\n </instructions>\n <plan>\n ${Plan.formatPlan(plan)}\n </plan>\n </agent>\n `,\n }),\n Prompt.userMessage({\n content: [\n Prompt.makePart('text', {\n text: trim`\n <event>\n ${JSON.stringify(event, null, 2)}\n </event>\n `,\n }),\n ],\n }),\n ]),\n }),\n );\n\n const { isRelevant } = value as { isRelevant: boolean };\n\n if (isRelevant) {\n const feedTarget = yield* Database.load(queue);\n if ('queue' in event && event.item) {\n const obj = event.item;\n yield* Feed.append(feedTarget, [obj]);\n } else if ('subject' in event && Ref.isRef(event.subject)) {\n const obj = yield* Database.load(event.subject);\n yield* Feed.append(feedTarget, [obj]);\n } else {\n throw new Error('Invalid event.');\n }\n }\n },\n Effect.provide(AiService.model('@anthropic/claude-sonnet-4-5')),\n ),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAIA,YAAYA,mBAAmB;AAC/B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,MAAMC,KAAKC,WAAW;AACzC,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAKrB,IAAA,eAAeC;IAKPC,oBAAUC,UAAIC,KAAWC,UAAW,YAAEC,kBAAAA,WAAAA,EAAAA,OAAAA,UAAAA,MAAAA,GAAAA;AACtCJ,QAAAA,QAAUI,OAAU,SAAE,KAAA,QAAA;AAEtB,YAAU,IAAEC,WAAYC,cAAO,OAAGF,KAAAA,GAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,MAAAA,GAAAA,CAAAA,sCAAAA,EAAAA,EAAAA,CAAAA;AAClC,YAAKE,MAAO,MAAA,sBAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,cAAA,sBAAA,EAAA,CAAA;QACV,EAAA,IAAM,MAAIC,MAAM,MAAA,IAAA;AAClB,MAAA,CAAA,OAAA;AAEA,UAAMC,IAAO,MAAOC,qBAAoBD;EACxC;AAEA,QAAM,OAAO,OAAK,SAAOE,KAAOC,MAC9BC,IAAAA;QACEC,eAAeC,OAAO,SAAA,KAAA,MAAA,YAAA;UACpBC,MAAAA,IAAAA,OAAmBC,cAAO,6BAAA;IAC5B,QAAA,cAAA;MACAC,YAAeC;;YAEXC,oBAAc;;;;;;;+BAORC,EAAAA,WAAqB,IAAA;;;;;;;;;;yBAUlBC;iBACLC;;YAEI,MAAEC;;0BAEL,KAAA,UAAA,OAAA,MAAA,CAAA,CAAA;;;UAGP,CAAA;QACD;MACH,CAAA;IAGF,CAAA;EAEA,CAAA,CAAA;QACE,EAAA,WAAMC,IAAa;MACnB,YAAI;UACF,aAAYC,OAAU,SAAA,KAAA,KAAA;QACtB,WAAOC,SAAYF,MAAAA,MAAY;YAACG,MAAAA,MAAAA;aAAI,KAAA,OAAA,YAAA;QAC/B;MACL,CAAA;eACOD,aAAYF,SAAAA,IAAY,MAAA,MAAA,OAAA,GAAA;YAACG,MAAAA,OAAAA,SAAAA,KAAAA,MAAAA,OAAAA;aAAI,KAAA,OAAA,YAAA;QAC/B;MACL,CAAA;IACF,OAAA;AACF,YAAA,IAAA,MAAA,gBAAA;IAEFjB;;;",
|
|
6
|
+
"names": ["LanguageModel", "Prompt", "Effect", "Schema", "AiService", "Operation", "Database", "Feed", "Obj", "Ref", "invariant", "trim", "Qualifier", "invariant", "Obj", "instanceOf", "Agent", "agent", "name", "queue", "Error", "plan", "Database", "Effect", "scoped", "LanguageModel", "schema", "Struct", "isRelevant", "Boolean", "prompt", "fromMessages", "content", "instructions", "makePart", "text", "JSON", "feedTarget", "event", "Feed", "obj"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Query
|
|
3
|
+
} from "./chunk-7UCYAP3T.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/blueprints/database/functions/query.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Operation } from "@dxos/compute";
|
|
9
|
+
import { Database, Entity, Filter, Obj, Query as EchoQuery } from "@dxos/echo";
|
|
10
|
+
var query_default = Query.pipe(Operation.withHandler(Effect.fn(function* ({ in: parents, typename, text, includeContent = false, limit = 10, includeQueues = false }) {
|
|
11
|
+
const { db } = yield* Database.Service;
|
|
12
|
+
let query;
|
|
13
|
+
if (text) {
|
|
14
|
+
query = EchoQuery.all(...text.split(" ").map((term) => EchoQuery.select(Filter.text(term, {
|
|
15
|
+
type: "full-text"
|
|
16
|
+
}))));
|
|
17
|
+
if (typename !== void 0) {
|
|
18
|
+
const schema = yield* Database.runSchemaQuery({
|
|
19
|
+
typename,
|
|
20
|
+
location: [
|
|
21
|
+
"database",
|
|
22
|
+
"runtime"
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
if (schema.length === 0) {
|
|
26
|
+
return yield* Effect.fail(new Error(`Schema ${typename} not found`));
|
|
27
|
+
}
|
|
28
|
+
query = query.select(Filter.type(schema[0]));
|
|
29
|
+
}
|
|
30
|
+
} else if (typename) {
|
|
31
|
+
const schema = yield* Database.runSchemaQuery({
|
|
32
|
+
typename,
|
|
33
|
+
location: [
|
|
34
|
+
"database",
|
|
35
|
+
"runtime"
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
if (schema.length === 0) {
|
|
39
|
+
return yield* Effect.fail(new Error(`Schema ${typename} not found`));
|
|
40
|
+
}
|
|
41
|
+
query = EchoQuery.select(Filter.type(schema[0]));
|
|
42
|
+
} else {
|
|
43
|
+
query = EchoQuery.select(Filter.everything());
|
|
44
|
+
}
|
|
45
|
+
if (parents && parents.length > 0) {
|
|
46
|
+
query = query.select(Filter.childOf(parents));
|
|
47
|
+
}
|
|
48
|
+
query = query.limit(limit);
|
|
49
|
+
if (includeQueues) {
|
|
50
|
+
query = query.from(db, {
|
|
51
|
+
includeFeeds: true
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
yield* Database.flush();
|
|
55
|
+
const results = yield* Database.runQuery(query);
|
|
56
|
+
if (includeContent) {
|
|
57
|
+
return results.map((obj) => Entity.toJSON(obj));
|
|
58
|
+
} else {
|
|
59
|
+
return results.map((obj) => ({
|
|
60
|
+
dxn: Obj.getDXN(obj).toString(),
|
|
61
|
+
typename: Obj.getTypename(obj),
|
|
62
|
+
label: Obj.getLabel(obj)
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
})));
|
|
66
|
+
export {
|
|
67
|
+
query_default as default
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=query-MP5NSQKO.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/database/functions/query.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Filter, Obj, Query as EchoQuery } from '@dxos/echo';\n\nimport { Query } from './definitions';\n\n// TODO(burdon): Move to toolkit (i.e., tool not function).\nexport default Query.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ in: parents, typename, text, includeContent = false, limit = 10, includeQueues = false }) {\n const { db } = yield* Database.Service;\n let query: EchoQuery.Any;\n if (text) {\n query = EchoQuery.all(\n ...text.split(' ').map((term) => EchoQuery.select(Filter.text(term, { type: 'full-text' }))),\n );\n if (typename !== undefined) {\n const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });\n if (schema.length === 0) {\n return yield* Effect.fail(new Error(`Schema ${typename} not found`));\n }\n query = query.select(Filter.type(schema[0]));\n }\n } else if (typename) {\n const schema = yield* Database.runSchemaQuery({ typename, location: ['database', 'runtime'] });\n if (schema.length === 0) {\n return yield* Effect.fail(new Error(`Schema ${typename} not found`));\n }\n query = EchoQuery.select(Filter.type(schema[0]));\n } else {\n query = EchoQuery.select(Filter.everything());\n }\n\n if (parents && parents.length > 0) {\n query = query.select(Filter.childOf(parents));\n }\n\n query = query.limit(limit);\n if (includeQueues) {\n // Must scope to the current space: `from({ allFeedsFromSpaces: true })` alone has no spaceIds, so the SQL\n // index returns nothing (see ObjectMetaIndex.buildSourceCondition / early returns when spaceIds are empty).\n query = query.from(db, { includeFeeds: true });\n }\n\n yield* Database.flush();\n const results = yield* Database.runQuery(query);\n if (includeContent) {\n return results.map((obj) => Entity.toJSON(obj));\n } else {\n return results.map((obj) => ({\n dxn: Obj.getDXN(obj).toString(),\n typename: Obj.getTypename(obj),\n label: Obj.getLabel(obj),\n }));\n }\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,QAAQC,KAAKC,SAASC,iBAAiB;AAKlE,IAAA,gBAAeC,MAAMC,KACnBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAIC,SAASC,UAAUC,MAAMC,iBAAiB,OAAOC,QAAQ,IAAIC,gBAAgB,MAAK,GAAE;AAC7G,QAAM,EAAEC,GAAE,IAAK,OAAOC,SAASC;AAC/B,MAAIC;AACJ,MAAIP,MAAM;AACRO,YAAQC,UAAUC,IAAG,GAChBT,KAAKU,MAAM,GAAA,EAAKC,IAAI,CAACC,SAASJ,UAAUK,OAAOC,OAAOd,KAAKY,MAAM;MAAEG,MAAM;IAAY,CAAA,CAAA,CAAA,CAAA;AAE1F,QAAIhB,aAAaiB,QAAW;AAC1B,YAAMC,SAAS,OAAOZ,SAASa,eAAe;QAAEnB;QAAUoB,UAAU;UAAC;UAAY;;MAAW,CAAA;AAC5F,UAAIF,OAAOG,WAAW,GAAG;AACvB,eAAO,OAAcC,YAAK,IAAIC,MAAM,UAAUvB,QAAAA,YAAoB,CAAA;MACpE;AACAQ,cAAQA,MAAMM,OAAOC,OAAOC,KAAKE,OAAO,CAAA,CAAE,CAAA;IAC5C;EACF,WAAWlB,UAAU;AACnB,UAAMkB,SAAS,OAAOZ,SAASa,eAAe;MAAEnB;MAAUoB,UAAU;QAAC;QAAY;;IAAW,CAAA;AAC5F,QAAIF,OAAOG,WAAW,GAAG;AACvB,aAAO,OAAcC,YAAK,IAAIC,MAAM,UAAUvB,QAAAA,YAAoB,CAAA;IACpE;AACAQ,YAAQC,UAAUK,OAAOC,OAAOC,KAAKE,OAAO,CAAA,CAAE,CAAA;EAChD,OAAO;AACLV,YAAQC,UAAUK,OAAOC,OAAOS,WAAU,CAAA;EAC5C;AAEA,MAAIzB,WAAWA,QAAQsB,SAAS,GAAG;AACjCb,YAAQA,MAAMM,OAAOC,OAAOU,QAAQ1B,OAAAA,CAAAA;EACtC;AAEAS,UAAQA,MAAML,MAAMA,KAAAA;AACpB,MAAIC,eAAe;AAGjBI,YAAQA,MAAMkB,KAAKrB,IAAI;MAAEsB,cAAc;IAAK,CAAA;EAC9C;AAEA,SAAOrB,SAASsB,MAAK;AACrB,QAAMC,UAAU,OAAOvB,SAASwB,SAAStB,KAAAA;AACzC,MAAIN,gBAAgB;AAClB,WAAO2B,QAAQjB,IAAI,CAACmB,QAAQC,OAAOC,OAAOF,GAAAA,CAAAA;EAC5C,OAAO;AACL,WAAOF,QAAQjB,IAAI,CAACmB,SAAS;MAC3BG,KAAKC,IAAIC,OAAOL,GAAAA,EAAKM,SAAQ;MAC7BrC,UAAUmC,IAAIG,YAAYP,GAAAA;MAC1BQ,OAAOJ,IAAIK,SAAST,GAAAA;IACtB,EAAA;EACF;AACF,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Operation", "Database", "Entity", "Filter", "Obj", "Query", "EchoQuery", "Query", "pipe", "Operation", "withHandler", "fn", "in", "parents", "typename", "text", "includeContent", "limit", "includeQueues", "db", "Database", "Service", "query", "EchoQuery", "all", "split", "map", "term", "select", "Filter", "type", "undefined", "schema", "runSchemaQuery", "location", "length", "fail", "Error", "everything", "childOf", "from", "includeFeeds", "flush", "results", "runQuery", "obj", "Entity", "toJSON", "dxn", "Obj", "getDXN", "toString", "getTypename", "label", "getLabel"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
QueryMemories
|
|
3
|
+
} from "./chunk-EJAQUAKM.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Memory
|
|
6
|
+
} from "./chunk-KGU725LW.mjs";
|
|
7
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
8
|
+
|
|
9
|
+
// src/blueprints/memory/functions/query.ts
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import { Operation } from "@dxos/compute";
|
|
12
|
+
import { Database, Entity, Filter, Query } from "@dxos/echo";
|
|
13
|
+
var query_default = QueryMemories.pipe(Operation.withHandler(Effect.fn(function* ({ text, limit = 10 }) {
|
|
14
|
+
let query;
|
|
15
|
+
if (text) {
|
|
16
|
+
query = Query.all(
|
|
17
|
+
...text.split(" ").map((term) => Query.select(Filter.text(term, {
|
|
18
|
+
type: "full-text"
|
|
19
|
+
})))
|
|
20
|
+
).select(Filter.type(Memory));
|
|
21
|
+
} else {
|
|
22
|
+
query = Query.select(Filter.type(Memory));
|
|
23
|
+
}
|
|
24
|
+
query = query.limit(limit);
|
|
25
|
+
yield* Database.flush();
|
|
26
|
+
const results = yield* Database.runQuery(query);
|
|
27
|
+
return results.map((obj) => Entity.toJSON(obj));
|
|
28
|
+
})));
|
|
29
|
+
export {
|
|
30
|
+
query_default as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=query-U56GNEV6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/memory/functions/query.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Filter, Query } from '@dxos/echo';\n\nimport { Memory } from '../../../types/Memory';\nimport { QueryMemories } from './definitions';\n\nexport default QueryMemories.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ text, limit = 10 }) {\n let query: Query.Any;\n if (text) {\n query = Query.all(\n // TODO(dmaretskyi): We should move this to the query executor layer.\n ...text.split(' ').map((term) => Query.select(Filter.text(term, { type: 'full-text' }))),\n ).select(Filter.type(Memory));\n } else {\n query = Query.select(Filter.type(Memory));\n }\n query = query.limit(limit);\n\n yield* Database.flush();\n const results = yield* Database.runQuery(query);\n return results.map((obj) => Entity.toJSON(obj));\n }),\n ),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,QAAQC,aAAa;AAKhD,IAAA,gBAAeC,cAAcC,KAC3BC,UAAUC,YACDC,UAAG,WAAW,EAAEC,MAAMC,QAAQ,GAAE,GAAE;AACvC,MAAIC;AACJ,MAAIF,MAAM;AACRE,YAAQC,MAAMC;SAETJ,KAAKK,MAAM,GAAA,EAAKC,IAAI,CAACC,SAASJ,MAAMK,OAAOC,OAAOT,KAAKO,MAAM;QAAEG,MAAM;MAAY,CAAA,CAAA,CAAA;IAAA,EACpFF,OAAOC,OAAOC,KAAKC,MAAAA,CAAAA;EACvB,OAAO;AACLT,YAAQC,MAAMK,OAAOC,OAAOC,KAAKC,MAAAA,CAAAA;EACnC;AACAT,UAAQA,MAAMD,MAAMA,KAAAA;AAEpB,SAAOW,SAASC,MAAK;AACrB,QAAMC,UAAU,OAAOF,SAASG,SAASb,KAAAA;AACzC,SAAOY,QAAQR,IAAI,CAACU,QAAQC,OAAOC,OAAOF,GAAAA,CAAAA;AAC5C,CAAA,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Operation", "Database", "Entity", "Filter", "Query", "QueryMemories", "pipe", "Operation", "withHandler", "fn", "text", "limit", "query", "Query", "all", "split", "map", "term", "select", "Filter", "type", "Memory", "Database", "flush", "results", "runQuery", "obj", "Entity", "toJSON"]
|
|
7
|
+
}
|