@dxos/assistant-toolkit 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/neutral/{add-artifact-5TOKSVLY.mjs → add-artifact-BA5WQRDU.mjs} +7 -7
- package/dist/lib/neutral/add-artifact-BA5WQRDU.mjs.map +7 -0
- package/dist/lib/neutral/agent-M2EW5M36.mjs +65 -0
- package/dist/lib/neutral/agent-M2EW5M36.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-V77TCYSP.mjs → chunk-CLHVRIYF.mjs} +76 -29
- package/dist/lib/neutral/chunk-CLHVRIYF.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-IVXBQQDJ.mjs → chunk-CVUA23QI.mjs} +2 -2
- package/dist/lib/neutral/chunk-CVUA23QI.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-MEQYXSDY.mjs → chunk-D5MG5OKX.mjs} +5 -6
- package/dist/lib/neutral/chunk-D5MG5OKX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-B5NOGNUG.mjs → chunk-E2XRNXWP.mjs} +7 -10
- package/dist/lib/neutral/chunk-E2XRNXWP.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BO4ZVH7M.mjs → chunk-EJAQUAKM.mjs} +3 -3
- package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-PWGX4QYR.mjs → chunk-J37DYY7A.mjs} +7 -9
- package/dist/lib/neutral/chunk-J37DYY7A.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-TCRQCJEJ.mjs → chunk-JCYLFOFK.mjs} +9 -9
- package/dist/lib/neutral/chunk-JCYLFOFK.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-YBTLIXQK.mjs → chunk-KGU725LW.mjs} +2 -2
- package/dist/lib/neutral/{chunk-YBTLIXQK.mjs.map → chunk-KGU725LW.mjs.map} +3 -3
- package/dist/lib/neutral/{chunk-VD2WAUU2.mjs → chunk-KY2TIPJ5.mjs} +47 -17
- package/dist/lib/neutral/chunk-KY2TIPJ5.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-B35UIL3R.mjs → chunk-MMTKJBB5.mjs} +3 -3
- package/dist/lib/neutral/chunk-MMTKJBB5.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-DV5DCOUE.mjs → chunk-NR3GTWRC.mjs} +3 -2
- package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-6DPL2YY5.mjs → chunk-TO5IX24K.mjs} +3 -4
- package/dist/lib/neutral/chunk-TO5IX24K.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-MEZ4UFR6.mjs → chunk-WLR3BGO4.mjs} +2 -2
- package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-AGG6OZNB.mjs → chunk-ZFXLTBZG.mjs} +4 -5
- package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +7 -0
- package/dist/lib/neutral/{context-add-QAHU6I24.mjs → context-add-IIDPRRVB.mjs} +3 -3
- package/dist/lib/neutral/{context-add-QAHU6I24.mjs.map → context-add-IIDPRRVB.mjs.map} +1 -1
- package/dist/lib/neutral/{context-remove-VMZPMZ4E.mjs → context-remove-RDYV4PD4.mjs} +3 -3
- package/dist/lib/neutral/{context-remove-VMZPMZ4E.mjs.map → context-remove-RDYV4PD4.mjs.map} +1 -1
- package/dist/lib/neutral/{create-project-SI5SZ7LJ.mjs → create-project-GLDEAWTT.mjs} +10 -11
- package/dist/lib/neutral/create-project-GLDEAWTT.mjs.map +7 -0
- package/dist/lib/neutral/{delete-LHMZDJFA.mjs → delete-J3PMWP7Z.mjs} +4 -4
- package/dist/lib/neutral/delete-J3PMWP7Z.mjs.map +7 -0
- package/dist/lib/neutral/{enable-blueprints-4UMPKGUD.mjs → enable-blueprints-LBDZH2CY.mjs} +3 -4
- package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs.map +7 -0
- package/dist/lib/neutral/{fetch-TLKREIZA.mjs → fetch-KHMHV7JR.mjs} +3 -3
- package/dist/lib/neutral/{fetch-TLKREIZA.mjs.map → fetch-KHMHV7JR.mjs.map} +1 -1
- package/dist/lib/neutral/{fetch-messages-AFX7ZAVE.mjs → fetch-messages-PWGUG5G3.mjs} +8 -23
- package/dist/lib/neutral/fetch-messages-PWGUG5G3.mjs.map +7 -0
- package/dist/lib/neutral/{get-context-57JQM4HZ.mjs → get-context-B55SX5Y4.mjs} +7 -7
- package/dist/lib/neutral/get-context-B55SX5Y4.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +787 -131
- package/dist/lib/neutral/index.mjs.map +4 -4
- package/dist/lib/neutral/{load-ZTOGVHWP.mjs → load-LI7HHVD6.mjs} +3 -3
- package/dist/lib/neutral/{load-ZTOGVHWP.mjs.map → load-LI7HHVD6.mjs.map} +3 -3
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/{object-create-7QCGL56E.mjs → object-create-52Z7YKIA.mjs} +4 -12
- package/dist/lib/neutral/object-create-52Z7YKIA.mjs.map +7 -0
- package/dist/lib/neutral/{object-delete-KXBWC4Q4.mjs → object-delete-I266YAXI.mjs} +3 -3
- package/dist/lib/neutral/object-delete-I266YAXI.mjs.map +7 -0
- package/dist/lib/neutral/{object-update-B7RDX3JC.mjs → object-update-HY4GI7LA.mjs} +4 -4
- package/dist/lib/neutral/object-update-HY4GI7LA.mjs.map +7 -0
- package/dist/lib/neutral/{project-3J3AJCJK.mjs → project-2YBPW5N7.mjs} +6 -6
- package/dist/lib/neutral/{project-rules-NO3QVDZS.mjs → project-rules-XUBEPDP6.mjs} +7 -7
- package/dist/lib/neutral/project-rules-XUBEPDP6.mjs.map +7 -0
- package/dist/lib/neutral/{prompt-K5CIRXOD.mjs → prompt-2WZQERT4.mjs} +39 -65
- package/dist/lib/neutral/prompt-2WZQERT4.mjs.map +7 -0
- package/dist/lib/neutral/{qualifier-KSGP4CFL.mjs → qualifier-2AC2ICOB.mjs} +12 -28
- package/dist/lib/neutral/qualifier-2AC2ICOB.mjs.map +7 -0
- package/dist/lib/neutral/{query-FMGIPWJG.mjs → query-B3NOYFCK.mjs} +4 -5
- package/dist/lib/neutral/query-B3NOYFCK.mjs.map +7 -0
- package/dist/lib/neutral/{query-MN5B3MQF.mjs → query-U56GNEV6.mjs} +4 -4
- package/dist/lib/neutral/query-U56GNEV6.mjs.map +7 -0
- package/dist/lib/neutral/{query-blueprints-EKHEZAGD.mjs → query-blueprints-KXADGHSA.mjs} +3 -4
- package/dist/lib/neutral/query-blueprints-KXADGHSA.mjs.map +7 -0
- package/dist/lib/neutral/{relation-create-FSHBM5CJ.mjs → relation-create-Z3NGW4VU.mjs} +4 -12
- package/dist/lib/neutral/relation-create-Z3NGW4VU.mjs.map +7 -0
- package/dist/lib/neutral/{relation-delete-CYYQUIZY.mjs → relation-delete-LXY7W2YO.mjs} +3 -3
- package/dist/lib/neutral/relation-delete-LXY7W2YO.mjs.map +7 -0
- package/dist/lib/neutral/{save-ZWWNTBOD.mjs → save-GWAPLT3Z.mjs} +4 -4
- package/dist/lib/neutral/save-GWAPLT3Z.mjs.map +7 -0
- package/dist/lib/neutral/{schema-add-RVV364G6.mjs → schema-add-4TXJO2V7.mjs} +3 -3
- package/dist/lib/neutral/schema-add-4TXJO2V7.mjs.map +7 -0
- package/dist/lib/neutral/{schema-list-DVKEWYIU.mjs → schema-list-PJS5AFZ3.mjs} +13 -5
- package/dist/lib/neutral/schema-list-PJS5AFZ3.mjs.map +7 -0
- package/dist/lib/neutral/{sync-issues-BBAMXSZN.mjs → sync-issues-LOLHZNFL.mjs} +8 -20
- package/dist/lib/neutral/sync-issues-LOLHZNFL.mjs.map +7 -0
- package/dist/lib/neutral/{sync-triggers-6EXPBHIQ.mjs → sync-triggers-EYJM4QWR.mjs} +39 -20
- package/dist/lib/neutral/sync-triggers-EYJM4QWR.mjs.map +7 -0
- package/dist/lib/neutral/{tag-add-OUDUBR3E.mjs → tag-add-5NOHUTIE.mjs} +4 -4
- package/dist/lib/neutral/tag-add-5NOHUTIE.mjs.map +7 -0
- package/dist/lib/neutral/{tag-remove-DI3ZSLFK.mjs → tag-remove-QTKYDJAW.mjs} +4 -4
- package/dist/lib/neutral/tag-remove-QTKYDJAW.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +7 -12
- package/dist/lib/neutral/testing/index.mjs.map +3 -3
- package/dist/lib/neutral/{update-blueprints-ZNWR7BBN.mjs → update-blueprints-N2AK2VUR.mjs} +3 -4
- package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs.map +7 -0
- package/dist/lib/neutral/{update-tasks-3YZ3YXIU.mjs → update-tasks-ML2FCYU5.mjs} +7 -7
- package/dist/lib/neutral/update-tasks-ML2FCYU5.mjs.map +7 -0
- package/dist/types/src/blueprints/automation/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +11 -12
- package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +6 -7
- package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -1
- package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +5 -6
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -1
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +2 -3
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +1 -1
- package/dist/types/src/blueprints/browser/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/context-add.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/context-remove.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/definitions.d.ts +5 -5
- package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/load.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/object-create.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/object-delete.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/object-update.d.ts +2 -2
- package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/query.d.ts +3 -3
- package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/relation-create.d.ts +2 -2
- package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/schema-add.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/schema-list.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/tag-add.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +1 -1
- package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -1
- package/dist/types/src/blueprints/discord/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/discord/functions/definitions.d.ts +2 -3
- package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts +2 -3
- package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -1
- package/dist/types/src/blueprints/discord/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/github/functions/definitions.d.ts +2 -3
- package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +2 -3
- package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -1
- package/dist/types/src/blueprints/github/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +0 -3
- package/dist/types/src/blueprints/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/linear/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/linear/functions/definitions.d.ts +2 -3
- package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/linear/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +2 -3
- package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/functions/definitions.d.ts +4 -4
- package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/functions/delete.d.ts +2 -2
- package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/functions/query.d.ts +2 -2
- package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/functions/save.d.ts +2 -2
- package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -1
- package/dist/types/src/blueprints/planning/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/planning/functions/definitions.d.ts +3 -3
- package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/planning/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +3 -3
- package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +2 -2
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/agent.d.ts +1 -1
- package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/definitions.d.ts +46 -39
- package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/get-context.d.ts +4 -4
- package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts +20 -16
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +20 -17
- package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +36 -29
- package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +17 -13
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -1
- package/dist/types/src/blueprints/testing.d.ts +5 -13
- package/dist/types/src/blueprints/testing.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +1 -1
- package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +1 -1
- package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/functions/index.d.ts +1 -1
- package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/index.d.ts +1 -1
- package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/toolkit.d.ts +2 -2
- package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -1
- package/dist/types/src/crud/graph.d.ts +1 -1
- package/dist/types/src/crud/graph.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +6 -6
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/functions/agent/definitions.d.ts +15 -15
- package/dist/types/src/functions/agent/definitions.d.ts.map +1 -1
- package/dist/types/src/functions/agent/index.d.ts +1 -1
- package/dist/types/src/functions/agent/index.d.ts.map +1 -1
- package/dist/types/src/functions/agent/prompt.d.ts +1 -1
- package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
- package/dist/types/src/functions/index.d.ts +0 -2
- package/dist/types/src/functions/index.d.ts.map +1 -1
- package/dist/types/src/sync/sync.d.ts.map +1 -1
- package/dist/types/src/testing/plugins.d.ts.map +1 -1
- package/dist/types/src/types/Agent.d.ts +19 -15
- package/dist/types/src/types/Agent.d.ts.map +1 -1
- package/dist/types/src/types/Chat.d.ts +8 -4
- package/dist/types/src/types/Chat.d.ts.map +1 -1
- package/dist/types/src/types/McpServer.d.ts +18 -0
- package/dist/types/src/types/McpServer.d.ts.map +1 -0
- package/dist/types/src/types/Memory.d.ts +1 -1
- package/dist/types/src/types/Memory.d.ts.map +1 -1
- package/dist/types/src/types/Plan.d.ts +17 -14
- package/dist/types/src/types/Plan.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/util/graphql.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -30
- package/src/blueprints/automation/blueprint.ts +2 -5
- package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -1
- package/src/blueprints/blueprint-manager/blueprint.test.ts +59 -37
- package/src/blueprints/blueprint-manager/blueprint.ts +2 -3
- package/src/blueprints/blueprint-manager/functions/definitions.ts +2 -3
- package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +1 -2
- package/src/blueprints/blueprint-manager/functions/index.ts +1 -1
- package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +1 -2
- package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +1 -2
- package/src/blueprints/browser/blueprint.test.ts +6 -8
- package/src/blueprints/browser/blueprint.ts +2 -3
- package/src/blueprints/database/blueprint.conversations.json +1 -1
- package/src/blueprints/database/blueprint.test.ts +49 -8
- package/src/blueprints/database/blueprint.ts +2 -3
- package/src/blueprints/database/functions/context-add.ts +1 -1
- package/src/blueprints/database/functions/context-remove.ts +1 -1
- package/src/blueprints/database/functions/definitions.ts +1 -1
- package/src/blueprints/database/functions/index.ts +1 -1
- package/src/blueprints/database/functions/load.ts +1 -1
- package/src/blueprints/database/functions/object-create.ts +1 -1
- package/src/blueprints/database/functions/object-delete.ts +1 -1
- package/src/blueprints/database/functions/object-update.ts +2 -2
- package/src/blueprints/database/functions/query.ts +2 -3
- package/src/blueprints/database/functions/relation-create.ts +1 -1
- package/src/blueprints/database/functions/relation-delete.ts +1 -1
- package/src/blueprints/database/functions/schema-add.ts +1 -1
- package/src/blueprints/database/functions/schema-list.ts +16 -10
- package/src/blueprints/database/functions/tag-add.ts +2 -2
- package/src/blueprints/database/functions/tag-remove.ts +2 -2
- package/src/blueprints/discord/blueprint.ts +2 -3
- package/src/blueprints/discord/functions/definitions.ts +2 -3
- package/src/blueprints/discord/functions/fetch-messages.test.ts +15 -26
- package/src/blueprints/discord/functions/fetch-messages.ts +4 -5
- package/src/blueprints/discord/functions/index.ts +1 -1
- package/src/blueprints/github/functions/definitions.ts +2 -3
- package/src/blueprints/github/functions/fetch-prs.ts +3 -3
- package/src/blueprints/github/functions/index.ts +1 -1
- package/src/blueprints/index.ts +0 -3
- package/src/blueprints/linear/blueprint.ts +2 -3
- package/src/blueprints/linear/functions/definitions.ts +2 -3
- package/src/blueprints/linear/functions/index.ts +1 -1
- package/src/blueprints/linear/functions/linear.test.ts +4 -5
- package/src/blueprints/linear/functions/sync-issues.ts +3 -3
- package/src/blueprints/memory/blueprint.conversations.json +1 -1
- package/src/blueprints/memory/blueprint.test.ts +5 -5
- package/src/blueprints/memory/blueprint.ts +3 -4
- package/src/blueprints/memory/functions/definitions.ts +1 -1
- package/src/blueprints/memory/functions/delete.ts +1 -1
- package/src/blueprints/memory/functions/index.ts +1 -1
- package/src/blueprints/memory/functions/query.ts +1 -1
- package/src/blueprints/memory/functions/save.ts +1 -1
- package/src/blueprints/planning/blueprint.ts +2 -3
- package/src/blueprints/planning/functions/definitions.ts +1 -1
- package/src/blueprints/planning/functions/index.ts +1 -1
- package/src/blueprints/planning/functions/update-tasks.ts +2 -2
- package/src/blueprints/project/blueprint.conversations.json +1 -1
- package/src/blueprints/project/blueprint.test.ts +127 -36
- package/src/blueprints/project/blueprint.ts +6 -7
- package/src/blueprints/project/functions/add-artifact.ts +2 -2
- package/src/blueprints/project/functions/agent.ts +15 -37
- package/src/blueprints/project/functions/definitions.ts +5 -8
- package/src/blueprints/project/functions/get-context.ts +3 -3
- package/src/blueprints/project/functions/index.ts +1 -1
- package/src/blueprints/project/functions/qualifier.ts +5 -5
- package/src/blueprints/project-wizard/blueprint.ts +12 -8
- package/src/blueprints/project-wizard/functions/create-project.ts +3 -4
- package/src/blueprints/project-wizard/functions/definitions.ts +3 -4
- package/src/blueprints/project-wizard/functions/index.ts +1 -1
- package/src/blueprints/project-wizard/functions/project-rules.ts +2 -2
- package/src/blueprints/project-wizard/functions/sync-triggers.ts +34 -15
- package/src/blueprints/testing.ts +7 -21
- package/src/blueprints/websearch/blueprint.conversations.json +1 -1
- package/src/blueprints/websearch/blueprint.test.ts +4 -4
- package/src/blueprints/websearch/blueprint.ts +2 -3
- package/src/blueprints/websearch/functions/definitions.ts +1 -1
- package/src/blueprints/websearch/functions/fetch.ts +1 -1
- package/src/blueprints/websearch/functions/index.ts +1 -1
- package/src/blueprints/websearch/index.ts +1 -1
- package/src/blueprints/websearch/toolkit.ts +2 -2
- package/src/crud/graph.test.ts +10 -12
- package/src/functions/agent/definitions.ts +5 -7
- package/src/functions/agent/index.ts +1 -1
- package/src/functions/agent/prompt.conversations.json +1 -1
- package/src/functions/agent/prompt.test.ts +5 -6
- package/src/functions/agent/prompt.ts +44 -42
- package/src/functions/index.ts +0 -2
- package/src/sync/sync.ts +18 -7
- package/src/testing/plugins.tsx +9 -7
- package/src/types/Agent.ts +51 -20
- package/src/types/Chat.ts +1 -0
- package/src/types/McpServer.ts +37 -0
- package/src/types/Memory.ts +2 -1
- package/src/types/Plan.ts +2 -2
- package/src/types/index.ts +1 -0
- package/dist/lib/neutral/add-artifact-5TOKSVLY.mjs.map +0 -7
- package/dist/lib/neutral/agent-SZV3Q7CN.mjs +0 -97
- package/dist/lib/neutral/agent-SZV3Q7CN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6DPL2YY5.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6FL4C6KD.mjs +0 -86
- package/dist/lib/neutral/chunk-6FL4C6KD.mjs.map +0 -7
- package/dist/lib/neutral/chunk-AGG6OZNB.mjs.map +0 -7
- package/dist/lib/neutral/chunk-B35UIL3R.mjs.map +0 -7
- package/dist/lib/neutral/chunk-B5NOGNUG.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BO4ZVH7M.mjs.map +0 -7
- package/dist/lib/neutral/chunk-DV5DCOUE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ILZ2ODWC.mjs +0 -95
- package/dist/lib/neutral/chunk-ILZ2ODWC.mjs.map +0 -7
- package/dist/lib/neutral/chunk-IVXBQQDJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-LI6VMCJW.mjs +0 -27
- package/dist/lib/neutral/chunk-LI6VMCJW.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MEQYXSDY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MEZ4UFR6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-PWGX4QYR.mjs.map +0 -7
- package/dist/lib/neutral/chunk-RW4H4TKD.mjs +0 -694
- package/dist/lib/neutral/chunk-RW4H4TKD.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TCRQCJEJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-V77TCYSP.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VD2WAUU2.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VDEDVOS6.mjs +0 -39
- package/dist/lib/neutral/chunk-VDEDVOS6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-XT5ZSUS6.mjs +0 -363
- package/dist/lib/neutral/chunk-XT5ZSUS6.mjs.map +0 -7
- package/dist/lib/neutral/create-P6I22VS5.mjs +0 -23
- package/dist/lib/neutral/create-P6I22VS5.mjs.map +0 -7
- package/dist/lib/neutral/create-project-SI5SZ7LJ.mjs.map +0 -7
- package/dist/lib/neutral/delete-LHMZDJFA.mjs.map +0 -7
- package/dist/lib/neutral/document-create-53ZVNGFR.mjs +0 -57
- package/dist/lib/neutral/document-create-53ZVNGFR.mjs.map +0 -7
- package/dist/lib/neutral/enable-blueprints-4UMPKGUD.mjs.map +0 -7
- package/dist/lib/neutral/entity-extraction-B2CTBGNA.mjs +0 -196
- package/dist/lib/neutral/entity-extraction-B2CTBGNA.mjs.map +0 -7
- package/dist/lib/neutral/exa-P4G3DCYB.mjs +0 -28
- package/dist/lib/neutral/exa-P4G3DCYB.mjs.map +0 -7
- package/dist/lib/neutral/fetch-messages-AFX7ZAVE.mjs.map +0 -7
- package/dist/lib/neutral/get-context-57JQM4HZ.mjs.map +0 -7
- package/dist/lib/neutral/mock-2ARYZ54S.mjs +0 -556
- package/dist/lib/neutral/mock-2ARYZ54S.mjs.map +0 -7
- package/dist/lib/neutral/object-create-7QCGL56E.mjs.map +0 -7
- package/dist/lib/neutral/object-delete-KXBWC4Q4.mjs.map +0 -7
- package/dist/lib/neutral/object-update-B7RDX3JC.mjs.map +0 -7
- package/dist/lib/neutral/project-rules-NO3QVDZS.mjs.map +0 -7
- package/dist/lib/neutral/prompt-K5CIRXOD.mjs.map +0 -7
- package/dist/lib/neutral/qualifier-KSGP4CFL.mjs.map +0 -7
- package/dist/lib/neutral/query-FMGIPWJG.mjs.map +0 -7
- package/dist/lib/neutral/query-MN5B3MQF.mjs.map +0 -7
- package/dist/lib/neutral/query-blueprints-EKHEZAGD.mjs.map +0 -7
- package/dist/lib/neutral/read-JJN7YXHI.mjs +0 -19
- package/dist/lib/neutral/read-JJN7YXHI.mjs.map +0 -7
- package/dist/lib/neutral/relation-create-FSHBM5CJ.mjs.map +0 -7
- package/dist/lib/neutral/relation-delete-CYYQUIZY.mjs.map +0 -7
- package/dist/lib/neutral/research-7JQEX7MU.mjs +0 -109
- package/dist/lib/neutral/research-7JQEX7MU.mjs.map +0 -7
- package/dist/lib/neutral/save-ZWWNTBOD.mjs.map +0 -7
- package/dist/lib/neutral/schema-add-RVV364G6.mjs.map +0 -7
- package/dist/lib/neutral/schema-list-DVKEWYIU.mjs.map +0 -7
- package/dist/lib/neutral/sync-issues-BBAMXSZN.mjs.map +0 -7
- package/dist/lib/neutral/sync-triggers-6EXPBHIQ.mjs.map +0 -7
- package/dist/lib/neutral/tag-add-OUDUBR3E.mjs.map +0 -7
- package/dist/lib/neutral/tag-remove-DI3ZSLFK.mjs.map +0 -7
- package/dist/lib/neutral/update-J64AYUS5.mjs +0 -20
- package/dist/lib/neutral/update-J64AYUS5.mjs.map +0 -7
- package/dist/lib/neutral/update-blueprints-ZNWR7BBN.mjs.map +0 -7
- package/dist/lib/neutral/update-tasks-3YZ3YXIU.mjs.map +0 -7
- package/dist/types/src/blueprints/design/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/design/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/design/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/design/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/design/index.d.ts +0 -2
- package/dist/types/src/blueprints/design/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/markdown/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/markdown/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/markdown/functions/create.d.ts +0 -8
- package/dist/types/src/blueprints/markdown/functions/create.d.ts.map +0 -1
- package/dist/types/src/blueprints/markdown/functions/definitions.d.ts +0 -45
- package/dist/types/src/blueprints/markdown/functions/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/markdown/functions/index.d.ts +0 -4
- package/dist/types/src/blueprints/markdown/functions/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/markdown/functions/read.d.ts +0 -17
- package/dist/types/src/blueprints/markdown/functions/read.d.ts.map +0 -1
- package/dist/types/src/blueprints/markdown/functions/update.d.ts +0 -16
- package/dist/types/src/blueprints/markdown/functions/update.d.ts.map +0 -1
- package/dist/types/src/blueprints/markdown/index.d.ts +0 -3
- package/dist/types/src/blueprints/markdown/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/planning-old/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/functions/definitions.d.ts +0 -31
- package/dist/types/src/blueprints/planning-old/functions/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/functions/index.d.ts +0 -4
- package/dist/types/src/blueprints/planning-old/functions/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/functions/read.d.ts +0 -17
- package/dist/types/src/blueprints/planning-old/functions/read.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts +0 -74
- package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts +0 -2
- package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/functions/update.d.ts +0 -19
- package/dist/types/src/blueprints/planning-old/functions/update.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning-old/index.d.ts +0 -3
- package/dist/types/src/blueprints/planning-old/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/research/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/blueprint.test.d.ts +0 -2
- package/dist/types/src/blueprints/research/blueprint.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/functions/definitions.d.ts +0 -21
- package/dist/types/src/blueprints/research/functions/definitions.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/functions/document-create.d.ts +0 -12
- package/dist/types/src/blueprints/research/functions/document-create.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/functions/index.d.ts +0 -4
- package/dist/types/src/blueprints/research/functions/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/functions/research.d.ts +0 -18
- package/dist/types/src/blueprints/research/functions/research.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/functions/research.test.d.ts +0 -2
- package/dist/types/src/blueprints/research/functions/research.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/index.d.ts +0 -4
- package/dist/types/src/blueprints/research/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts +0 -24
- package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts.map +0 -1
- package/dist/types/src/blueprints/research/types/index.d.ts +0 -7
- package/dist/types/src/blueprints/research/types/index.d.ts.map +0 -1
- package/dist/types/src/functions/entity-extraction/definitions.d.ts +0 -182
- package/dist/types/src/functions/entity-extraction/definitions.d.ts.map +0 -1
- package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +0 -4
- 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 -4
- package/dist/types/src/functions/entity-extraction/index.d.ts.map +0 -1
- package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts +0 -38
- package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts.map +0 -1
- package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts +0 -37
- package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts.map +0 -1
- package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts +0 -58
- package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts.map +0 -1
- package/dist/types/src/functions/exa/data/index.d.ts +0 -3
- package/dist/types/src/functions/exa/data/index.d.ts.map +0 -1
- package/dist/types/src/functions/exa/definitions.d.ts +0 -9
- package/dist/types/src/functions/exa/definitions.d.ts.map +0 -1
- package/dist/types/src/functions/exa/exa.d.ts +0 -7
- package/dist/types/src/functions/exa/exa.d.ts.map +0 -1
- package/dist/types/src/functions/exa/index.d.ts +0 -4
- package/dist/types/src/functions/exa/index.d.ts.map +0 -1
- package/dist/types/src/functions/exa/mock.d.ts +0 -6
- package/dist/types/src/functions/exa/mock.d.ts.map +0 -1
- package/src/blueprints/browser/blueprint.conversations.json +0 -1
- package/src/blueprints/design/blueprint.test.ts +0 -97
- package/src/blueprints/design/blueprint.ts +0 -41
- package/src/blueprints/design/index.ts +0 -5
- package/src/blueprints/markdown/blueprint.ts +0 -36
- package/src/blueprints/markdown/functions/create.ts +0 -20
- package/src/blueprints/markdown/functions/definitions.ts +0 -80
- package/src/blueprints/markdown/functions/index.ts +0 -13
- package/src/blueprints/markdown/functions/read.ts +0 -22
- package/src/blueprints/markdown/functions/update.ts +0 -22
- package/src/blueprints/markdown/index.ts +0 -11
- package/src/blueprints/planning-old/blueprint.test.ts +0 -122
- package/src/blueprints/planning-old/blueprint.ts +0 -106
- package/src/blueprints/planning-old/functions/definitions.ts +0 -53
- package/src/blueprints/planning-old/functions/index.ts +0 -12
- package/src/blueprints/planning-old/functions/read.ts +0 -24
- package/src/blueprints/planning-old/functions/task-list.test.ts +0 -99
- package/src/blueprints/planning-old/functions/task-list.ts +0 -165
- package/src/blueprints/planning-old/functions/update.ts +0 -31
- package/src/blueprints/planning-old/index.ts +0 -6
- package/src/blueprints/research/blueprint.test.ts +0 -7
- package/src/blueprints/research/blueprint.ts +0 -61
- package/src/blueprints/research/functions/definitions.ts +0 -87
- package/src/blueprints/research/functions/document-create.ts +0 -50
- package/src/blueprints/research/functions/index.ts +0 -12
- package/src/blueprints/research/functions/research-instructions.tpl +0 -106
- package/src/blueprints/research/functions/research.conversations.json +0 -1
- package/src/blueprints/research/functions/research.test.ts +0 -150
- package/src/blueprints/research/functions/research.ts +0 -137
- package/src/blueprints/research/index.ts +0 -7
- package/src/blueprints/research/types/ResearchGraph.ts +0 -62
- package/src/blueprints/research/types/index.ts +0 -32
- package/src/functions/entity-extraction/definitions.ts +0 -44
- package/src/functions/entity-extraction/entity-extraction.conversations.json +0 -1
- package/src/functions/entity-extraction/entity-extraction.test.ts +0 -74
- package/src/functions/entity-extraction/entity-extraction.ts +0 -159
- package/src/functions/entity-extraction/index.ts +0 -9
- package/src/functions/exa/data/exa-search-1748337321991.ts +0 -131
- package/src/functions/exa/data/exa-search-1748337331526.ts +0 -144
- package/src/functions/exa/data/exa-search-1748337344119.ts +0 -133
- package/src/functions/exa/data/index.ts +0 -11
- package/src/functions/exa/definitions.ts +0 -37
- package/src/functions/exa/exa.ts +0 -32
- package/src/functions/exa/index.ts +0 -12
- package/src/functions/exa/mock.ts +0 -62
- /package/dist/lib/neutral/{project-3J3AJCJK.mjs.map → project-2YBPW5N7.mjs.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/crud/graph.ts", "../../../src/blueprints/research/types/ResearchGraph.ts", "../../../src/blueprints/research/types/index.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 Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\n\nimport { Entity, Filter, Obj, Query, Type } from '@dxos/echo';\nimport { Database } from '@dxos/echo';\nimport { type Queue } from '@dxos/echo-db';\nimport { isEncodedReference } from '@dxos/echo-protocol';\nimport {\n ReferenceAnnotationId,\n RelationSourceDXNId,\n RelationSourceId,\n RelationTargetDXNId,\n RelationTargetId,\n createObject,\n getTypeAnnotation,\n getTypeIdentifierAnnotation,\n} from '@dxos/echo/internal';\nimport { mapAst } from '@dxos/effect';\nimport { ContextQueueService } from '@dxos/functions';\nimport { DXN, ObjectId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { deepMapValues, isNonNullable, trim } from '@dxos/util';\n\n// TODO(burdon): Unify with the graph schema.\nexport const Subgraph = Schema.Struct({\n /** Objects and relations. */\n objects: Schema.Array(Schema.Any),\n});\n\nexport interface Subgraph extends Schema.Schema.Type<typeof Subgraph> {}\n\nexport type RelatedSchema = {\n schema: Type.AnyEntity;\n kind: 'reference' | 'relation';\n};\n\n/**\n * Find all schemas that are related to the given schema.\n *\n * @param db\n * @param schema\n * @returns\n */\nexport const findRelatedSchema = async (db: Database.Database, anchor: Type.AnyEntity): Promise<RelatedSchema[]> => {\n // TODO(dmaretskyi): Query stored schemas.\n const allSchemas = await db.graph.schemaRegistry.query().run();\n\n // TODO(dmaretskyi): Also do references.\n return allSchemas\n .filter((schema) => {\n if (getTypeAnnotation(schema)?.kind !== Entity.Kind.Relation) {\n return false;\n }\n\n return (\n isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema)!.sourceSchema!)) ||\n isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema)!.targetSchema!))\n );\n })\n .map(\n (schema): RelatedSchema => ({\n kind: 'relation',\n schema,\n }),\n );\n};\n\n/**\n * Non-strict DXN comparison.\n * Returns true if the DXN could be resolved to the schema.\n */\nconst isSchemaAddressableByDxn = (schema: Type.AnyEntity, dxn: DXN): boolean => {\n if (getTypeIdentifierAnnotation(schema) === dxn.toString()) {\n return true;\n }\n\n const t = dxn.asTypeDXN();\n if (t) {\n return t.type === Type.getTypename(schema);\n }\n\n return false;\n};\n\n/**\n * Perform vector search in the local database.\n */\n// TODO(dmaretskyi): Rename `GraphReadToolkit`.\nexport const LocalSearchToolkit = Toolkit.make(\n Tool.make('search_local_search', {\n description: 'Search the local database for information using a vector index',\n parameters: {\n query: Schema.String.annotations({\n description: 'The query to search for. Could be a question or a topic or a set of keywords.',\n }),\n },\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service],\n }),\n);\n\nexport const LocalSearchHandler = LocalSearchToolkit.toLayer({\n search_local_search: Effect.fn(function* ({ query }) {\n const objects = yield* Database.runQuery(Query.select(Filter.text(query, { type: 'vector' })));\n const results = [...objects];\n\n const option = yield* Effect.serviceOption(ContextQueueService);\n if (Option.isSome(option)) {\n const queueObjects = yield* Effect.promise(() => option.value.queue.queryObjects());\n // TODO(dmaretskyi): Text search on the queue.\n results.push(...queueObjects);\n }\n\n return trim`\n <local_context>\n ${JSON.stringify(results, null, 2)}\n </local_context>\n `;\n }),\n});\n\n/**\n * Attached as an annotation to the writer tool.\n */\nclass GraphWriterSchema extends Context.Tag('@dxos/assistant/GraphWriterSchema')<\n GraphWriterSchema,\n {\n schema: Type.AnyEntity[];\n }\n>() {}\n\n/**\n * Forms typed objects that can be written to the graph database.\n */\nexport const makeGraphWriterToolkit = ({ schema }: { schema: Type.AnyEntity[] }) => {\n return Toolkit.make(\n Tool.make('graph_writer', {\n description: 'Write to the local graph database',\n parameters: createExtractionSchema(schema).fields,\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service, ContextQueueService],\n }).annotateContext(Context.make(GraphWriterSchema, { schema })),\n );\n};\n\nexport const makeGraphWriterHandler = (\n toolkit: ReturnType<typeof makeGraphWriterToolkit>,\n {\n onAppend,\n }: {\n onAppend?: (object: DXN[]) => void;\n } = {},\n) => {\n const { schema } = Context.get(\n toolkit.tools.graph_writer.annotations as Context.Context<GraphWriterSchema>,\n GraphWriterSchema,\n );\n\n return toolkit.toLayer({\n graph_writer: Effect.fn(function* (input) {\n const { db } = yield* Database.Service;\n const { queue } = yield* ContextQueueService;\n const data = yield* Effect.promise(() => sanitizeObjects(schema, input as any, db, queue));\n yield* Effect.promise(() => queue.append(data as Obj.Unknown[]));\n\n const dxns = data.map((obj) => Obj.getDXN(obj));\n onAppend?.(dxns);\n return dxns;\n }),\n });\n};\n\n/**\n * Create a schema for structured data extraction.\n */\nexport const createExtractionSchema = (types: Type.AnyEntity[]) => {\n return Schema.Struct({\n ...Object.fromEntries(\n types.map(preprocessSchema).map((schema, index) => [\n `objects_${getSanitizedSchemaName(types[index])}`,\n Schema.optional(Schema.Array(schema)).annotations({\n description: `The objects of type: ${Type.getDXN(types[index])?.asTypeDXN()!.type}. ${SchemaAST.getDescriptionAnnotation(types[index].ast).pipe(Option.getOrElse(() => ''))}`,\n }),\n ]),\n ),\n });\n};\n\nexport const getSanitizedSchemaName = (schema: Type.AnyEntity) => {\n return Type.getDXN(schema)!\n .asTypeDXN()!\n .type.replaceAll(/[^a-zA-Z0-9]+/g, '_');\n};\n\nexport const sanitizeObjects = async (\n types: Type.AnyEntity[],\n data: Record<string, readonly unknown[]>,\n db: Database.Database,\n queue?: Queue,\n): Promise<Obj.Unknown[]> => {\n const entries = types\n .map(\n (type) =>\n data[`objects_${getSanitizedSchemaName(type)}`]?.map((object: any) => ({\n data: object,\n schema: type,\n })) ?? [],\n )\n .flat();\n\n const idMap = new Map<string, string>();\n const existingIds = new Set<ObjectId>();\n const enitties = new Map<ObjectId, Entity.Unknown>();\n\n const resolveId = (id: string): DXN | undefined => {\n if (ObjectId.isValid(id)) {\n existingIds.add(id);\n return DXN.fromLocalObjectId(id);\n }\n\n const mappedId = idMap.get(id);\n if (mappedId) {\n return DXN.fromLocalObjectId(mappedId);\n }\n\n return undefined;\n };\n\n const res = entries\n .map((entry) => {\n // This entry mutates existing object.\n if (ObjectId.isValid(entry.data.id)) {\n return entry;\n }\n\n idMap.set(entry.data.id, ObjectId.random());\n entry.data.id = idMap.get(entry.data.id);\n return entry;\n })\n .map((entry) => {\n const data = deepMapValues(entry.data, (value, recurse) => {\n if (isEncodedReference(value)) {\n const ref = value['/'];\n const id = resolveId(ref);\n\n if (id) {\n // Link to an existing object.\n return { '/': id.toString() };\n } else {\n // Search URIs?\n return { '/': `search:?q=${encodeURIComponent(ref)}` };\n }\n }\n\n return recurse(value);\n });\n\n if (Entity.getKind(entry.schema) === 'relation') {\n const sourceDxn = resolveId(data.source);\n if (!sourceDxn) {\n log.warn('source not found', { source: data.source });\n }\n const targetDxn = resolveId(data.target);\n if (!targetDxn) {\n log.warn('target not found', { target: data.target });\n }\n delete data.source;\n delete data.target;\n data[RelationSourceDXNId] = sourceDxn;\n data[RelationTargetDXNId] = targetDxn;\n }\n\n return {\n data,\n schema: entry.schema,\n };\n })\n .filter((object) => !existingIds.has(object.data.id)); // TODO(dmaretskyi): This dissallows updating existing objects.\n\n // TODO(dmaretskyi): Use ref resolver.\n const dbObjects = await db.query(Query.select(Filter.id(...existingIds))).run();\n const queueObjects = (await queue?.getObjectsById([...existingIds])) ?? [];\n const objects = [...dbObjects, ...queueObjects].filter(isNonNullable);\n\n // TODO(dmaretskyi): Returns everything if IDs are empty!\n log.info('objects', { dbObjects, queueObjects, existingIds });\n const missing = Array.from(existingIds).filter((id) => !objects.some((object) => object.id === id));\n if (missing.length > 0) {\n throw new Error(`Object IDs do not point to existing objects: ${missing.join(', ')}`);\n }\n\n return res.flatMap(({ data, schema }) => {\n let skip = false;\n if (RelationSourceDXNId in data) {\n const id = (data[RelationSourceDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationSourceDXNId];\n data[RelationSourceId] = obj;\n } else {\n skip = true;\n }\n }\n if (RelationTargetDXNId in data) {\n const id = (data[RelationTargetDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationTargetDXNId];\n data[RelationTargetId] = obj;\n } else {\n skip = true;\n }\n }\n if (!skip) {\n const obj = createObject(schema, data);\n enitties.set(obj.id, obj);\n return [obj];\n }\n return [];\n });\n};\n\nconst SoftRef = Schema.Struct({\n '/': Schema.String,\n}).annotations({\n description: 'Reference to another object.',\n});\n\nconst preprocessSchema = (schema: Schema.Schema.AnyNoContext) => {\n const isRelationSchema = Entity.getKind(schema) === 'relation';\n\n const go = (ast: SchemaAST.AST, visited = new Set<SchemaAST.AST>()): SchemaAST.AST => {\n if (visited.has(ast)) {\n // Already visited this node, prevent infinite recursion.\n return ast;\n }\n visited.add(ast);\n\n if (SchemaAST.getAnnotation(ast, ReferenceAnnotationId).pipe(Option.isSome)) {\n return SoftRef.ast;\n }\n\n return mapAst(ast, (child) => go(child, visited));\n };\n\n return Schema.make<any, any, never>(mapAst(schema.ast, (ast) => go(ast))).pipe(\n Schema.omit('id'),\n Schema.extend(\n Schema.Struct({\n id: Schema.String.annotations({\n description: 'The id of this object. Come up with a unique id based on your judgement.',\n }),\n }),\n ),\n isRelationSchema\n ? Schema.extend(\n Schema.Struct({\n source: Schema.String.annotations({\n description: 'The id of the source object for this relation.',\n }),\n target: Schema.String.annotations({\n description: 'The id of the target object for this relation.',\n }),\n }),\n )\n : Function.identity<Schema.Schema.AnyNoContext>,\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport * as Schema from 'effect/Schema';\n\nimport { Database, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { Queue } from '@dxos/echo-db';\nimport { SystemTypeAnnotation } from '@dxos/echo/internal';\nimport { ContextQueueService, QueueService } from '@dxos/functions';\n\n/** @deprecated Use ResearchGraph instead. */\nexport const LegacyResearchGraph = Schema.Struct({\n queue: Ref.Ref(Queue),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.research-graph',\n version: '0.1.0',\n }),\n SystemTypeAnnotation.set(true),\n);\n\nexport interface LegacyResearchGraph extends Schema.Schema.Type<typeof LegacyResearchGraph> {}\n\n/**\n * Container for a set of ephemeral research results.\n */\nexport const ResearchGraph = Schema.Struct({\n queue: Ref.Ref(Queue),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.researchGraph',\n version: '0.1.0',\n }),\n SystemTypeAnnotation.set(true),\n);\n\nexport interface ResearchGraph extends Schema.Schema.Type<typeof ResearchGraph> {}\n\nexport const create: () => Effect.Effect<ResearchGraph, never, Database.Service | QueueService> = Effect.fn(\n 'createResearchGraph',\n)(function* () {\n const queue = yield* QueueService.createQueue();\n return yield* Database.add(Obj.make(ResearchGraph, { queue: Ref.fromDXN(queue.dxn) }));\n});\n\nexport const query: () => Effect.Effect<ResearchGraph | undefined, never, Database.Service> = Effect.fn(\n 'queryResearchGraph',\n)(function* () {\n const objects = yield* Database.runQuery(Query.type(ResearchGraph));\n return objects.at(0);\n});\n\nexport const contextQueueLayer = Layer.unwrapEffect(\n Effect.gen(function* () {\n const researchGraph = (yield* query()) ?? (yield* create());\n const researchQueue = yield* Database.load(researchGraph.queue);\n return ContextQueueService.layer(researchQueue);\n }),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { type Type } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { Event, HasConnection, HasRelationship, LegacyOrganization, LegacyPerson, Pipeline, Task } from '@dxos/types';\n\nexport * as ResearchGraph from './ResearchGraph';\n\n/**\n * Data types for research.\n */\n// TODO(burdon): This should not be hardcoded.\nexport const ResearchDataTypes: Type.AnyEntity[] = [\n // Objects\n Event.Event,\n Task.Task,\n Text.Text,\n\n // TODO(wittjosiah): Until views (e.g., Table) support relations this needs to be expressed via organization ref.\n // Employer.Employer,\n // Organization.Organization,\n LegacyPerson,\n LegacyOrganization,\n\n Pipeline.Pipeline,\n\n // Relations\n HasRelationship.HasRelationship,\n HasConnection.HasConnection,\n];\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Tool", "Toolkit", "Context", "Effect", "Function", "Option", "Schema", "SchemaAST", "Entity", "Filter", "Obj", "Query", "Type", "Database", "isEncodedReference", "ReferenceAnnotationId", "RelationSourceDXNId", "RelationSourceId", "RelationTargetDXNId", "RelationTargetId", "createObject", "getTypeAnnotation", "getTypeIdentifierAnnotation", "mapAst", "ContextQueueService", "DXN", "ObjectId", "log", "deepMapValues", "isNonNullable", "trim", "Subgraph", "Struct", "objects", "Array", "Any", "findRelatedSchema", "db", "anchor", "allSchemas", "graph", "schemaRegistry", "query", "run", "filter", "schema", "kind", "Kind", "Relation", "isSchemaAddressableByDxn", "parse", "sourceSchema", "targetSchema", "map", "dxn", "toString", "t", "asTypeDXN", "type", "getTypename", "LocalSearchToolkit", "make", "description", "parameters", "String", "annotations", "success", "Unknown", "failure", "Never", "dependencies", "Service", "LocalSearchHandler", "toLayer", "search_local_search", "fn", "runQuery", "select", "text", "results", "option", "serviceOption", "isSome", "queueObjects", "promise", "value", "queue", "queryObjects", "push", "JSON", "stringify", "GraphWriterSchema", "Tag", "makeGraphWriterToolkit", "createExtractionSchema", "fields", "annotateContext", "makeGraphWriterHandler", "toolkit", "onAppend", "get", "tools", "graph_writer", "input", "data", "sanitizeObjects", "append", "dxns", "obj", "getDXN", "types", "Object", "fromEntries", "preprocessSchema", "index", "getSanitizedSchemaName", "optional", "getDescriptionAnnotation", "ast", "pipe", "getOrElse", "replaceAll", "entries", "object", "flat", "idMap", "Map", "existingIds", "Set", "enitties", "resolveId", "id", "isValid", "add", "fromLocalObjectId", "mappedId", "undefined", "res", "entry", "set", "random", "recurse", "ref", "encodeURIComponent", "getKind", "sourceDxn", "source", "warn", "targetDxn", "target", "has", "dbObjects", "getObjectsById", "info", "missing", "from", "some", "length", "Error", "join", "flatMap", "skip", "asEchoDXN", "echoId", "find", "SoftRef", "isRelationSchema", "go", "visited", "getAnnotation", "child", "omit", "extend", "identity", "Effect", "Layer", "Schema", "Database", "Obj", "Query", "Ref", "Type", "Queue", "SystemTypeAnnotation", "ContextQueueService", "QueueService", "LegacyResearchGraph", "Struct", "queue", "Ref", "Queue", "pipe", "Type", "object", "typename", "version", "SystemTypeAnnotation", "set", "ResearchGraph", "create", "fn", "QueueService", "createQueue", "Database", "add", "Obj", "make", "fromDXN", "dxn", "query", "objects", "runQuery", "Query", "type", "at", "contextQueueLayer", "unwrapEffect", "gen", "researchGraph", "researchQueue", "load", "ContextQueueService", "layer", "Text", "Event", "HasConnection", "HasRelationship", "LegacyOrganization", "LegacyPerson", "Pipeline", "Task", "ResearchDataTypes", "Event", "Task", "Text", "LegacyPerson", "LegacyOrganization", "Pipeline", "HasRelationship", "HasConnection"]
|
|
7
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Create
|
|
3
|
-
} from "./chunk-6FL4C6KD.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/blueprints/markdown/functions/create.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import { Database, Ref } from "@dxos/echo";
|
|
9
|
-
import { Operation } from "@dxos/operation";
|
|
10
|
-
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
11
|
-
var create_default = Create.pipe(Operation.withHandler(Effect.fn(function* ({ name, content }) {
|
|
12
|
-
const doc = yield* Database.add(Markdown.make({
|
|
13
|
-
name,
|
|
14
|
-
content
|
|
15
|
-
}));
|
|
16
|
-
return {
|
|
17
|
-
document: Ref.make(doc)
|
|
18
|
-
};
|
|
19
|
-
})));
|
|
20
|
-
export {
|
|
21
|
-
create_default as default
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=create-P6I22VS5.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/blueprints/markdown/functions/create.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Database, Ref } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { Markdown } from '@dxos/plugin-markdown/types';\n\nimport { Create } from './definitions';\n\nexport default Create.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ name, content }) {\n const doc = yield* Database.add(Markdown.make({ name, content }));\n return { document: Ref.make(doc) };\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,UAAUC,WAAW;AAC9B,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AAIzB,IAAA,iBAAeC,OAAOC,KACpBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,MAAMC,QAAO,GAAE;AACpC,QAAMC,MAAM,OAAOC,SAASC,IAAIC,SAASC,KAAK;IAAEN;IAAMC;EAAQ,CAAA,CAAA;AAC9D,SAAO;IAAEM,UAAUC,IAAIF,KAAKJ,GAAAA;EAAK;AACnC,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Database", "Ref", "Operation", "Markdown", "Create", "pipe", "Operation", "withHandler", "fn", "name", "content", "doc", "Database", "add", "Markdown", "make", "document", "Ref"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/blueprints/project-wizard/functions/create-project.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Blueprint } from '@dxos/blueprints';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { Agent } from '../../../types';\nimport { AgentBlueprint } from '../../project';\nimport { CreateAgent, SyncTriggers } from './definitions';\n\nexport default CreateAgent.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ name, spec, blueprints, subscriptions }) {\n const agent = yield* Agent.makeInitialized(\n {\n name,\n spec,\n blueprints: yield* Effect.forEach(blueprints, (key) =>\n Blueprint.upsert(key).pipe(Effect.map(Ref.make), Effect.orDie),\n ),\n subscriptions,\n },\n Obj.clone(AgentBlueprint.make()),\n );\n yield* Operation.invoke(SyncTriggers, { agent: Ref.make(agent) });\n return agent;\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,KAAKC,WAAW;AACzB,SAASC,iBAAiB;AAM1B,IAAA,yBAAeC,YAAYC,KACzBC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,MAAMC,MAAMC,YAAYC,cAAa,GAAE;AACpE,QAAMC,QAAQ,OAAOC,cAAMC,gBACzB;IACEN;IACAC;IACAC,YAAY,OAAcK,eAAQL,YAAY,CAACM,QAC7CC,UAAUC,OAAOF,GAAAA,EAAKZ,KAAYe,WAAIC,IAAIC,IAAI,GAAUC,YAAK,CAAA;IAE/DX;EACF,GACAY,IAAIC,MAAMC,kBAAeJ,KAAI,CAAA,CAAA;AAE/B,SAAOhB,UAAUqB,OAAOC,cAAc;IAAEf,OAAOQ,IAAIC,KAAKT,KAAAA;EAAO,CAAA;AAC/D,SAAOA;AACT,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Blueprint", "Obj", "Ref", "Operation", "CreateAgent", "pipe", "Operation", "withHandler", "fnUntraced", "name", "spec", "blueprints", "subscriptions", "agent", "Agent", "makeInitialized", "forEach", "key", "Blueprint", "upsert", "map", "Ref", "make", "orDie", "Obj", "clone", "AgentBlueprint", "invoke", "SyncTriggers"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/blueprints/memory/functions/delete.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Database } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { DeleteMemory } from './definitions';\n\nexport default DeleteMemory.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ memory }) {\n const memoryObj = yield* Database.load(memory);\n yield* Database.remove(memoryObj);\n yield* Database.flush();\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAI1B,IAAA,iBAAeC,aAAaC,KAC1BC,UAAUC,YACDC,UAAG,WAAW,EAAEC,OAAM,GAAE;AAC7B,QAAMC,YAAY,OAAOC,SAASC,KAAKH,MAAAA;AACvC,SAAOE,SAASE,OAAOH,SAAAA;AACvB,SAAOC,SAASG,MAAK;AACvB,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Database", "Operation", "DeleteMemory", "pipe", "Operation", "withHandler", "fn", "memory", "memoryObj", "Database", "load", "remove", "flush"]
|
|
7
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DocumentCreate
|
|
3
|
-
} from "./chunk-ILZ2ODWC.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/blueprints/research/functions/document-create.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import { Database, Obj, Relation } from "@dxos/echo";
|
|
9
|
-
import { TracingService } from "@dxos/functions";
|
|
10
|
-
import { log } from "@dxos/log";
|
|
11
|
-
import { Operation } from "@dxos/operation";
|
|
12
|
-
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
13
|
-
import { HasSubject } from "@dxos/types";
|
|
14
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/blueprints/research/functions/document-create.ts";
|
|
15
|
-
var document_create_default = DocumentCreate.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ subject, name, content }) {
|
|
16
|
-
log.info("Creating research document", {
|
|
17
|
-
subject,
|
|
18
|
-
name,
|
|
19
|
-
content
|
|
20
|
-
}, {
|
|
21
|
-
F: __dxlog_file,
|
|
22
|
-
L: 19,
|
|
23
|
-
S: this,
|
|
24
|
-
C: (f, a) => f(...a)
|
|
25
|
-
});
|
|
26
|
-
yield* Database.flush();
|
|
27
|
-
yield* TracingService.emitStatus({
|
|
28
|
-
message: "Creating research document..."
|
|
29
|
-
});
|
|
30
|
-
const target = yield* Database.load(subject);
|
|
31
|
-
const object = yield* Database.add(Markdown.make({
|
|
32
|
-
name,
|
|
33
|
-
content
|
|
34
|
-
}));
|
|
35
|
-
yield* Database.add(Relation.make(HasSubject.HasSubject, {
|
|
36
|
-
[Relation.Source]: object,
|
|
37
|
-
[Relation.Target]: target,
|
|
38
|
-
completedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
39
|
-
}));
|
|
40
|
-
yield* Database.flush();
|
|
41
|
-
log.info("Created research document", {
|
|
42
|
-
subject,
|
|
43
|
-
object
|
|
44
|
-
}, {
|
|
45
|
-
F: __dxlog_file,
|
|
46
|
-
L: 43,
|
|
47
|
-
S: this,
|
|
48
|
-
C: (f, a) => f(...a)
|
|
49
|
-
});
|
|
50
|
-
return {
|
|
51
|
-
document: Obj.getDXN(object).toString()
|
|
52
|
-
};
|
|
53
|
-
})));
|
|
54
|
-
export {
|
|
55
|
-
document_create_default as default
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=document-create-53ZVNGFR.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/blueprints/research/functions/document-create.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Database, Obj, Relation } from '@dxos/echo';\nimport { TracingService } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { Operation } from '@dxos/operation';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { HasSubject } from '@dxos/types';\n\nimport { DocumentCreate } from './definitions';\n\nexport default DocumentCreate.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ subject, name, content }) {\n log.info('Creating research document', { subject, name, content });\n\n // TODO(burdon): Auto flush before and after calling function?\n yield* Database.flush();\n yield* TracingService.emitStatus({ message: 'Creating research document...' });\n\n const target = yield* Database.load(subject);\n\n const object = yield* Database.add(\n Markdown.make({\n name,\n content,\n }),\n );\n\n yield* Database.add(\n Relation.make(HasSubject.HasSubject, {\n [Relation.Source]: object,\n [Relation.Target]: target,\n completedAt: new Date().toISOString(),\n }),\n );\n\n yield* Database.flush();\n log.info('Created research document', { subject, object });\n\n return {\n document: Obj.getDXN(object).toString(),\n };\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,UAAUC,KAAKC,gBAAgB;AACxC,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;;AAI3B,IAAA,0BAAeC,eAAeC,KAC5BC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,SAASC,MAAMC,QAAO,GAAE;AACrDC,MAAIC,KAAK,8BAA8B;IAAEJ;IAASC;IAAMC;EAAQ,GAAA;;;;;;AAGhE,SAAOG,SAASC,MAAK;AACrB,SAAOC,eAAeC,WAAW;IAAEC,SAAS;EAAgC,CAAA;AAE5E,QAAMC,SAAS,OAAOL,SAASM,KAAKX,OAAAA;AAEpC,QAAMY,SAAS,OAAOP,SAASQ,IAC7BC,SAASC,KAAK;IACZd;IACAC;EACF,CAAA,CAAA;AAGF,SAAOG,SAASQ,IACdG,SAASD,KAAKE,WAAWA,YAAY;IACnC,CAACD,SAASE,MAAM,GAAGN;IACnB,CAACI,SAASG,MAAM,GAAGT;IACnBU,cAAa,oBAAIC,KAAAA,GAAOC,YAAW;EACrC,CAAA,CAAA;AAGF,SAAOjB,SAASC,MAAK;AACrBH,MAAIC,KAAK,6BAA6B;IAAEJ;IAASY;EAAO,GAAA;;;;;;AAExD,SAAO;IACLW,UAAUC,IAAIC,OAAOb,MAAAA,EAAQc,SAAQ;EACvC;AACF,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Database", "Obj", "Relation", "TracingService", "log", "Operation", "Markdown", "HasSubject", "DocumentCreate", "pipe", "Operation", "withHandler", "fnUntraced", "subject", "name", "content", "log", "info", "Database", "flush", "TracingService", "emitStatus", "message", "target", "load", "object", "add", "Markdown", "make", "Relation", "HasSubject", "Source", "Target", "completedAt", "Date", "toISOString", "document", "Obj", "getDXN", "toString"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/blueprints/blueprint-manager/functions/enable-blueprints.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { AiContextService } from '@dxos/assistant';\nimport { Blueprint } from '@dxos/blueprints';\nimport { Ref } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { EnableBlueprints } from './definitions';\n\nexport default EnableBlueprints.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ keys }) {\n const registry = yield* Blueprint.RegistryService;\n const enabled: Blueprint.Blueprint[] = [];\n const rejected: { key: string; reason: string }[] = [];\n\n for (const key of keys) {\n const blueprint = registry.getByKey(key);\n if (!blueprint) {\n rejected.push({ key, reason: 'Blueprint not found in registry.' });\n continue;\n }\n if (!blueprint.agentCanEnable) {\n rejected.push({ key, reason: 'Blueprint does not allow agent auto-enable (agentCanEnable is not set).' });\n continue;\n }\n const dbBlueprint = yield* Blueprint.upsert(key).pipe(Effect.orDie);\n enabled.push(dbBlueprint);\n }\n\n if (enabled.length > 0) {\n yield* AiContextService.bindContext({\n blueprints: enabled.map(Ref.make),\n });\n }\n\n return { enabled, rejected };\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAI1B,IAAA,4BAAeC,iBAAiBC,KAC9BC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,KAAI,GAAE;AACnC,QAAMC,WAAW,OAAOC,UAAUC;AAClC,QAAMC,UAAiC,CAAA;AACvC,QAAMC,WAA8C,CAAA;AAEpD,aAAWC,OAAON,MAAM;AACtB,UAAMO,YAAYN,SAASO,SAASF,GAAAA;AACpC,QAAI,CAACC,WAAW;AACdF,eAASI,KAAK;QAAEH;QAAKI,QAAQ;MAAmC,CAAA;AAChE;IACF;AACA,QAAI,CAACH,UAAUI,gBAAgB;AAC7BN,eAASI,KAAK;QAAEH;QAAKI,QAAQ;MAA0E,CAAA;AACvG;IACF;AACA,UAAME,cAAc,OAAOV,UAAUW,OAAOP,GAAAA,EAAKV,KAAYkB,YAAK;AAClEV,YAAQK,KAAKG,WAAAA;EACf;AAEA,MAAIR,QAAQW,SAAS,GAAG;AACtB,WAAOC,iBAAiBC,YAAY;MAClCC,YAAYd,QAAQe,IAAIC,IAAIC,IAAI;IAClC,CAAA;EACF;AAEA,SAAO;IAAEjB;IAASC;EAAS;AAC7B,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "AiContextService", "Blueprint", "Ref", "Operation", "EnableBlueprints", "pipe", "Operation", "withHandler", "fnUntraced", "keys", "registry", "Blueprint", "RegistryService", "enabled", "rejected", "key", "blueprint", "getByKey", "push", "reason", "agentCanEnable", "dbBlueprint", "upsert", "orDie", "length", "AiContextService", "bindContext", "blueprints", "map", "Ref", "make"]
|
|
7
|
-
}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EntityExtraction
|
|
3
|
-
} from "./chunk-RW4H4TKD.mjs";
|
|
4
|
-
import "./chunk-6DPL2YY5.mjs";
|
|
5
|
-
import "./chunk-MEQYXSDY.mjs";
|
|
6
|
-
import "./chunk-BO4ZVH7M.mjs";
|
|
7
|
-
import "./chunk-IVXBQQDJ.mjs";
|
|
8
|
-
import "./chunk-TCRQCJEJ.mjs";
|
|
9
|
-
import "./chunk-LI6VMCJW.mjs";
|
|
10
|
-
import "./chunk-B35UIL3R.mjs";
|
|
11
|
-
import {
|
|
12
|
-
ResearchGraph_exports,
|
|
13
|
-
makeGraphWriterHandler,
|
|
14
|
-
makeGraphWriterToolkit
|
|
15
|
-
} from "./chunk-XT5ZSUS6.mjs";
|
|
16
|
-
import "./chunk-ILZ2ODWC.mjs";
|
|
17
|
-
import "./chunk-MEZ4UFR6.mjs";
|
|
18
|
-
import "./chunk-6FL4C6KD.mjs";
|
|
19
|
-
import "./chunk-AGG6OZNB.mjs";
|
|
20
|
-
import "./chunk-B5NOGNUG.mjs";
|
|
21
|
-
import "./chunk-V77TCYSP.mjs";
|
|
22
|
-
import "./chunk-DV5DCOUE.mjs";
|
|
23
|
-
import "./chunk-YBTLIXQK.mjs";
|
|
24
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
25
|
-
|
|
26
|
-
// src/functions/entity-extraction/entity-extraction.ts
|
|
27
|
-
import * as Effect from "effect/Effect";
|
|
28
|
-
import * as Layer from "effect/Layer";
|
|
29
|
-
import * as Predicate from "effect/Predicate";
|
|
30
|
-
import { AiService } from "@dxos/ai";
|
|
31
|
-
import { GenericToolkit } from "@dxos/ai";
|
|
32
|
-
import { AiSession, ToolExecutionServices } from "@dxos/assistant";
|
|
33
|
-
import { Database, Filter, Obj, Ref } from "@dxos/echo";
|
|
34
|
-
import { FunctionInvocationService } from "@dxos/functions";
|
|
35
|
-
import { log } from "@dxos/log";
|
|
36
|
-
import { Operation } from "@dxos/operation";
|
|
37
|
-
import { LegacyOrganization, Organization, Person } from "@dxos/types";
|
|
38
|
-
import { trim } from "@dxos/util";
|
|
39
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/functions/entity-extraction/entity-extraction.ts";
|
|
40
|
-
var entity_extraction_default = EntityExtraction.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ source: message, instructions }) {
|
|
41
|
-
const tags = Obj.getMeta(message)?.tags;
|
|
42
|
-
const contact = yield* extractContact(message.sender, tags);
|
|
43
|
-
let organization = null;
|
|
44
|
-
if (contact && !contact.organization) {
|
|
45
|
-
const created = [];
|
|
46
|
-
const GraphWriterToolkit = makeGraphWriterToolkit({
|
|
47
|
-
schema: [
|
|
48
|
-
LegacyOrganization
|
|
49
|
-
]
|
|
50
|
-
}).pipe();
|
|
51
|
-
const GraphWriterHandler = makeGraphWriterHandler(GraphWriterToolkit, {
|
|
52
|
-
onAppend: (dxns) => created.push(...dxns)
|
|
53
|
-
});
|
|
54
|
-
const toolkit = yield* GraphWriterToolkit.pipe(Effect.provide(GraphWriterHandler.pipe(Layer.provide(ResearchGraph_exports.contextQueueLayer))));
|
|
55
|
-
yield* new AiSession().run({
|
|
56
|
-
system: trim`
|
|
57
|
-
Extract the sender's organization from the email. If you are not sure, do nothing.
|
|
58
|
-
The extracted organization URL must match the sender's email domain.
|
|
59
|
-
${instructions ? "<user_intructions>" + instructions + "</user_intructions>" : ""},
|
|
60
|
-
`,
|
|
61
|
-
prompt: JSON.stringify({
|
|
62
|
-
source: message,
|
|
63
|
-
contact
|
|
64
|
-
}),
|
|
65
|
-
toolkit
|
|
66
|
-
});
|
|
67
|
-
if (created.length > 1) {
|
|
68
|
-
throw new Error("Multiple organizations created");
|
|
69
|
-
} else if (created.length === 1) {
|
|
70
|
-
organization = yield* Database.resolve(created[0], Organization.Organization);
|
|
71
|
-
Obj.change(organization, (organization2) => {
|
|
72
|
-
const meta = Obj.getMeta(organization2);
|
|
73
|
-
meta.tags ??= [];
|
|
74
|
-
meta.tags.push(...tags ?? []);
|
|
75
|
-
});
|
|
76
|
-
Obj.change(contact, (contact2) => {
|
|
77
|
-
contact2.organization = Ref.make(organization);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
entities: [
|
|
83
|
-
contact,
|
|
84
|
-
organization
|
|
85
|
-
].filter(Predicate.isNotNullable)
|
|
86
|
-
};
|
|
87
|
-
}, Effect.provide(Layer.mergeAll(AiService.model("@anthropic/claude-sonnet-4-0"), ToolExecutionServices, FunctionInvocationService.layerNotAvailable).pipe(Layer.provide(GenericToolkit.providerEmpty))))), Operation.opaqueHandler);
|
|
88
|
-
var extractContact = Effect.fn("extractContact")(function* (actor, tags) {
|
|
89
|
-
const name = actor.name;
|
|
90
|
-
const email = actor.email;
|
|
91
|
-
if (!email) {
|
|
92
|
-
log.warn("email is required for contact extraction", {
|
|
93
|
-
actor
|
|
94
|
-
}, {
|
|
95
|
-
F: __dxlog_file,
|
|
96
|
-
L: 89,
|
|
97
|
-
S: this,
|
|
98
|
-
C: (f, a) => f(...a)
|
|
99
|
-
});
|
|
100
|
-
return void 0;
|
|
101
|
-
}
|
|
102
|
-
const existingContacts = yield* Database.runQuery(Filter.type(Person.Person));
|
|
103
|
-
const existingContact = existingContacts.find((contact) => contact.emails?.some((contactEmail) => contactEmail.value === email));
|
|
104
|
-
if (existingContact) {
|
|
105
|
-
log.info("Contact already exists", {
|
|
106
|
-
email,
|
|
107
|
-
existingContact
|
|
108
|
-
}, {
|
|
109
|
-
F: __dxlog_file,
|
|
110
|
-
L: 101,
|
|
111
|
-
S: this,
|
|
112
|
-
C: (f, a) => f(...a)
|
|
113
|
-
});
|
|
114
|
-
return existingContact;
|
|
115
|
-
}
|
|
116
|
-
const newContact = Obj.make(Person.Person, {
|
|
117
|
-
...tags ? {
|
|
118
|
-
[Obj.Meta]: {
|
|
119
|
-
tags: [
|
|
120
|
-
...tags
|
|
121
|
-
]
|
|
122
|
-
}
|
|
123
|
-
} : {},
|
|
124
|
-
emails: [
|
|
125
|
-
{
|
|
126
|
-
value: email
|
|
127
|
-
}
|
|
128
|
-
]
|
|
129
|
-
});
|
|
130
|
-
yield* Database.add(newContact);
|
|
131
|
-
if (name) {
|
|
132
|
-
Obj.change(newContact, (newContact2) => {
|
|
133
|
-
newContact2.fullName = name;
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
const emailDomain = email.split("@")[1]?.toLowerCase();
|
|
137
|
-
if (!emailDomain) {
|
|
138
|
-
log.warn("Invalid email format, cannot extract domain", {
|
|
139
|
-
email
|
|
140
|
-
}, {
|
|
141
|
-
F: __dxlog_file,
|
|
142
|
-
L: 119,
|
|
143
|
-
S: this,
|
|
144
|
-
C: (f, a) => f(...a)
|
|
145
|
-
});
|
|
146
|
-
return newContact;
|
|
147
|
-
}
|
|
148
|
-
log.info("extracted email domain", {
|
|
149
|
-
emailDomain
|
|
150
|
-
}, {
|
|
151
|
-
F: __dxlog_file,
|
|
152
|
-
L: 123,
|
|
153
|
-
S: this,
|
|
154
|
-
C: (f, a) => f(...a)
|
|
155
|
-
});
|
|
156
|
-
const existingOrganisations = yield* Database.runQuery(Filter.type(Organization.Organization));
|
|
157
|
-
const matchingOrg = existingOrganisations.find((org) => {
|
|
158
|
-
if (org.website) {
|
|
159
|
-
try {
|
|
160
|
-
const websiteUrl = org.website.startsWith("http://") || org.website.startsWith("https://") ? org.website : `https://${org.website}`;
|
|
161
|
-
const websiteDomain = new URL(websiteUrl).hostname.toLowerCase();
|
|
162
|
-
return websiteDomain === emailDomain || websiteDomain.endsWith(`.${emailDomain}`) || emailDomain.endsWith(`.${websiteDomain}`);
|
|
163
|
-
} catch (e) {
|
|
164
|
-
log.warn("Error parsing website URL", {
|
|
165
|
-
website: org.website,
|
|
166
|
-
error: e
|
|
167
|
-
}, {
|
|
168
|
-
F: __dxlog_file,
|
|
169
|
-
L: 141,
|
|
170
|
-
S: this,
|
|
171
|
-
C: (f, a) => f(...a)
|
|
172
|
-
});
|
|
173
|
-
return false;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
return false;
|
|
177
|
-
});
|
|
178
|
-
if (matchingOrg) {
|
|
179
|
-
log.info("found matching organization", {
|
|
180
|
-
organization: matchingOrg
|
|
181
|
-
}, {
|
|
182
|
-
F: __dxlog_file,
|
|
183
|
-
L: 152,
|
|
184
|
-
S: this,
|
|
185
|
-
C: (f, a) => f(...a)
|
|
186
|
-
});
|
|
187
|
-
Obj.change(newContact, (newContact2) => {
|
|
188
|
-
newContact2.organization = Ref.make(matchingOrg);
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
return newContact;
|
|
192
|
-
});
|
|
193
|
-
export {
|
|
194
|
-
entity_extraction_default as default
|
|
195
|
-
};
|
|
196
|
-
//# sourceMappingURL=entity-extraction-B2CTBGNA.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/entity-extraction/entity-extraction.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport * as Predicate from 'effect/Predicate';\n\nimport { AiService } from '@dxos/ai';\nimport { GenericToolkit } from '@dxos/ai';\nimport { AiSession, ToolExecutionServices } from '@dxos/assistant';\nimport { Database, Filter, Obj, Ref } from '@dxos/echo';\nimport { FunctionInvocationService } from '@dxos/functions';\nimport { type DXN } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { Operation } from '@dxos/operation';\nimport { type Actor, LegacyOrganization, Organization, Person } from '@dxos/types';\nimport { trim } from '@dxos/util';\n\nimport { ResearchGraph } from '../../blueprints';\nimport { makeGraphWriterHandler, makeGraphWriterToolkit } from '../../crud';\nimport { EntityExtraction } from './definitions';\n\nexport default EntityExtraction.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ source: message, instructions }) {\n const tags = Obj.getMeta(message)?.tags;\n const contact = yield* extractContact(message.sender, tags);\n let organization: Organization.Organization | null = null;\n\n if (contact && !contact.organization) {\n const created: DXN[] = [];\n const GraphWriterToolkit = makeGraphWriterToolkit({\n schema: [LegacyOrganization],\n }).pipe();\n const GraphWriterHandler = makeGraphWriterHandler(GraphWriterToolkit, {\n onAppend: (dxns) => created.push(...dxns),\n });\n const toolkit = yield* GraphWriterToolkit.pipe(\n Effect.provide(GraphWriterHandler.pipe(Layer.provide(ResearchGraph.contextQueueLayer))),\n );\n\n yield* new AiSession().run({\n system: trim`\n Extract the sender's organization from the email. If you are not sure, do nothing.\n The extracted organization URL must match the sender's email domain.\n ${instructions ? '<user_intructions>' + instructions + '</user_intructions>' : ''},\n `,\n prompt: JSON.stringify({ source: message, contact }),\n toolkit,\n });\n\n if (created.length > 1) {\n throw new Error('Multiple organizations created');\n } else if (created.length === 1) {\n organization = yield* Database.resolve(created[0], Organization.Organization);\n Obj.change(organization, (organization) => {\n const meta = Obj.getMeta(organization);\n meta.tags ??= [];\n meta.tags.push(...(tags ?? []));\n });\n Obj.change(contact, (contact) => {\n contact.organization = Ref.make(organization!);\n });\n }\n }\n\n return {\n entities: [contact, organization].filter(Predicate.isNotNullable),\n };\n },\n Effect.provide(\n Layer.mergeAll(\n AiService.model('@anthropic/claude-sonnet-4-0'), // TODO(dmaretskyi): Extract.\n ToolExecutionServices,\n FunctionInvocationService.layerNotAvailable,\n ).pipe(Layer.provide(GenericToolkit.providerEmpty)),\n ),\n ),\n ),\n Operation.opaqueHandler,\n);\n\nconst extractContact = Effect.fn('extractContact')(function* (actor: Actor.Actor, tags?: readonly string[]) {\n const name = actor.name;\n const email = actor.email;\n if (!email) {\n log.warn('email is required for contact extraction', { actor });\n return undefined;\n }\n\n const existingContacts = yield* Database.runQuery(Filter.type(Person.Person));\n\n // TODO(dmaretskyi): Query filter DSL - https://linear.app/dxos/issue/DX-541/filtercontains-should-work-with-partial-objects\n const existingContact = existingContacts.find((contact) =>\n contact.emails?.some((contactEmail) => contactEmail.value === email),\n );\n\n if (existingContact) {\n log.info('Contact already exists', { email, existingContact });\n return existingContact;\n }\n\n const newContact = Obj.make(Person.Person, {\n ...(tags ? { [Obj.Meta]: { tags: [...tags] } } : {}),\n emails: [{ value: email }],\n });\n yield* Database.add(newContact);\n\n if (name) {\n Obj.change(newContact, (newContact) => {\n newContact.fullName = name;\n });\n }\n\n const emailDomain = email.split('@')[1]?.toLowerCase();\n if (!emailDomain) {\n log.warn('Invalid email format, cannot extract domain', { email });\n return newContact;\n }\n\n log.info('extracted email domain', { emailDomain });\n\n const existingOrganisations = yield* Database.runQuery(Filter.type(Organization.Organization));\n const matchingOrg = existingOrganisations.find((org) => {\n if (org.website) {\n try {\n const websiteUrl =\n org.website.startsWith('http://') || org.website.startsWith('https://')\n ? org.website\n : `https://${org.website}`;\n\n const websiteDomain = new URL(websiteUrl).hostname.toLowerCase();\n return (\n websiteDomain === emailDomain ||\n websiteDomain.endsWith(`.${emailDomain}`) ||\n emailDomain.endsWith(`.${websiteDomain}`)\n );\n } catch (e) {\n log.warn('Error parsing website URL', {\n website: org.website,\n error: e,\n });\n return false;\n }\n }\n return false;\n });\n\n if (matchingOrg) {\n log.info('found matching organization', { organization: matchingOrg });\n Obj.change(newContact, (newContact) => {\n newContact.organization = Ref.make(matchingOrg);\n });\n }\n\n return newContact;\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Effect", "Layer", "Predicate", "AiService", "GenericToolkit", "AiSession", "ToolExecutionServices", "Database", "Filter", "Obj", "Ref", "FunctionInvocationService", "log", "Operation", "LegacyOrganization", "Organization", "Person", "trim", "EntityExtraction", "pipe", "Operation", "withHandler", "fnUntraced", "source", "message", "instructions", "tags", "Obj", "getMeta", "contact", "extractContact", "sender", "organization", "created", "GraphWriterToolkit", "makeGraphWriterToolkit", "schema", "LegacyOrganization", "GraphWriterHandler", "makeGraphWriterHandler", "onAppend", "dxns", "push", "toolkit", "provide", "ResearchGraph", "contextQueueLayer", "AiSession", "run", "system", "trim", "prompt", "JSON", "stringify", "length", "Error", "Database", "resolve", "Organization", "change", "meta", "Ref", "make", "entities", "filter", "isNotNullable", "mergeAll", "AiService", "model", "ToolExecutionServices", "FunctionInvocationService", "layerNotAvailable", "GenericToolkit", "providerEmpty", "opaqueHandler", "fn", "actor", "name", "email", "log", "warn", "undefined", "existingContacts", "runQuery", "Filter", "type", "Person", "existingContact", "find", "emails", "some", "contactEmail", "value", "info", "newContact", "Meta", "add", "fullName", "emailDomain", "split", "toLowerCase", "existingOrganisations", "matchingOrg", "org", "website", "websiteUrl", "startsWith", "websiteDomain", "URL", "hostname", "endsWith", "e", "error"]
|
|
7
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ExaSearch
|
|
3
|
-
} from "./chunk-VDEDVOS6.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/functions/exa/exa.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import Exa from "exa-js";
|
|
9
|
-
import { CredentialsService } from "@dxos/functions";
|
|
10
|
-
import { Operation } from "@dxos/operation";
|
|
11
|
-
var exa_default = ExaSearch.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ query }) {
|
|
12
|
-
const credential = yield* CredentialsService.getCredential({
|
|
13
|
-
service: "exa.ai"
|
|
14
|
-
});
|
|
15
|
-
const exa = new Exa(credential.apiKey);
|
|
16
|
-
const context = yield* Effect.promise(async () => exa.searchAndContents(query, {
|
|
17
|
-
type: "auto",
|
|
18
|
-
text: {
|
|
19
|
-
maxCharacters: 3e3
|
|
20
|
-
},
|
|
21
|
-
livecrawl: "always"
|
|
22
|
-
}));
|
|
23
|
-
return context;
|
|
24
|
-
})));
|
|
25
|
-
export {
|
|
26
|
-
exa_default as default
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=exa-P4G3DCYB.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/functions/exa/exa.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport Exa from 'exa-js';\n\nimport { CredentialsService } from '@dxos/functions';\nimport { Operation } from '@dxos/operation';\n\nimport { ExaSearch } from './definitions';\n\nexport default ExaSearch.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ query }) {\n const credential = yield* CredentialsService.getCredential({ service: 'exa.ai' });\n const exa = new Exa(credential.apiKey);\n\n const context = yield* Effect.promise(async () =>\n exa.searchAndContents(query, {\n type: 'auto',\n text: {\n maxCharacters: 3_000,\n },\n livecrawl: 'always',\n }),\n );\n\n return context;\n }),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,SAAS;AAEhB,SAASC,0BAA0B;AACnC,SAASC,iBAAiB;AAI1B,IAAA,cAAeC,UAAUC,KACvBC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,MAAK,GAAE;AACpC,QAAMC,aAAa,OAAOC,mBAAmBC,cAAc;IAAEC,SAAS;EAAS,CAAA;AAC/E,QAAMC,MAAM,IAAIC,IAAIL,WAAWM,MAAM;AAErC,QAAMC,UAAU,OAAcC,eAAQ,YACpCJ,IAAIK,kBAAkBV,OAAO;IAC3BW,MAAM;IACNC,MAAM;MACJC,eAAe;IACjB;IACAC,WAAW;EACb,CAAA,CAAA;AAGF,SAAON;AACT,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Exa", "CredentialsService", "Operation", "ExaSearch", "pipe", "Operation", "withHandler", "fnUntraced", "query", "credential", "CredentialsService", "getCredential", "service", "exa", "Exa", "apiKey", "context", "promise", "searchAndContents", "type", "text", "maxCharacters", "livecrawl"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/blueprints/discord/functions/fetch-messages.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport { DiscordConfig, DiscordREST, DiscordRESTMemoryLive } from 'dfx';\nimport type {\n GuildChannelResponse,\n MessageResponse,\n PrivateChannelResponse,\n PrivateGroupChannelResponse,\n ThreadResponse,\n} from 'dfx/types';\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\n\nimport { Obj } from '@dxos/echo';\nimport { CredentialsService, TracingService } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { Operation } from '@dxos/operation';\nimport { Message } from '@dxos/types';\n\nimport { FetchMessages, TimeRange } from './definitions';\n\nconst DiscordConfigFromCredential = Layer.unwrapEffect(\n Effect.gen(function* () {\n return DiscordConfig.layer({\n token: yield* CredentialsService.getApiKey({ service: 'discord.com' }),\n rest: {\n baseUrl: 'https://api-proxy.dxos.workers.dev/discord.com/api/v10',\n },\n });\n }),\n);\n\ntype DiscordChannel = GuildChannelResponse | PrivateChannelResponse | PrivateGroupChannelResponse | ThreadResponse;\n\nconst DEFAULT_AFTER = 1704067200; // 2024-01-01\nconst DEFAULT_LIMIT = 500;\nconst DEFAULT_IGNORE_USERNAMES = ['GitHub', 'Needle'];\n\n// TODO(dmaretskyi): Align with standard thread type.\ntype Thread = {\n discordChannelId: string;\n name?: string;\n messages: Message.Message[];\n};\n\nexport default FetchMessages.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({\n serverId,\n channelId,\n after,\n last,\n pageSize = 100,\n limit = DEFAULT_LIMIT,\n ignoreUsernames = DEFAULT_IGNORE_USERNAMES,\n }) {\n if (!after && !last) {\n throw new Error('cannot specify both `after` and `last`');\n }\n const afterTs = last ? Date.now() / 1000 - TimeRange.toSeconds(last) : (after ?? DEFAULT_AFTER);\n\n const rest = yield* DiscordREST;\n\n let channels: DiscordChannel[] = [];\n channels.push(...(yield* rest.listGuildChannels(serverId)));\n const { threads: guildThreads } = yield* rest.getActiveGuildThreads(serverId);\n channels.push(...guildThreads);\n if (channelId) {\n channels = channels.filter((channel) => channel.id === channelId);\n }\n if (channels.length === 0) {\n throw new Error('no channels found');\n }\n for (const channel of channels) {\n log.info('channel', { id: channel.id, name: 'name' in channel ? channel.name : undefined });\n }\n\n yield* TracingService.emitStatus({ message: `Will fetch from channels: ${channels.length}` });\n\n const threads = yield* Effect.forEach(\n channels,\n Effect.fnUntraced(function* (channel) {\n const allMessages: Message.Message[] = [];\n\n let lastMessage: Option.Option<Message.Message> = Option.none();\n while (true) {\n const { id: lastId = undefined } = Function.pipe(\n lastMessage,\n Option.map(Obj.getKeys('discord.com')),\n Option.flatMap(Option.fromIterable),\n Option.getOrElse(() => ({ id: undefined })),\n );\n\n const options = {\n after: !lastId ? `${generateSnowflake(afterTs)}` : lastId,\n limit: pageSize,\n };\n log.info('fetching messages', {\n lastId,\n afterTs,\n afterSnowflake: options.after,\n after: parseSnowflake(options.after),\n limit: options.limit,\n });\n const messages = yield* rest.listMessages(channel.id, options).pipe(\n Effect.map(Array.map(makeMessage)),\n Effect.map(Array.reverse),\n Effect.catchTag('ErrorResponse', (err) =>\n err.cause.code === 50001 ? Effect.succeed([]) : Effect.fail(err),\n ),\n );\n if (messages.length > 0) {\n lastMessage = Option.fromNullable(messages.at(-1));\n allMessages.push(...messages);\n } else {\n break;\n }\n yield* TracingService.emitStatus({ message: `Fetched messages: ${allMessages.length}` });\n if (allMessages.length >= limit) {\n break;\n }\n }\n\n return {\n discordChannelId: channel.id,\n name: 'name' in channel ? (channel.name ?? undefined) : undefined,\n messages: allMessages\n .filter((message) => !message.sender.name || !ignoreUsernames.includes(message.sender.name))\n .filter((message) =>\n message.blocks.some((block: any) => block._tag === 'text' && block.text.trim().length > 0),\n ),\n } satisfies Thread;\n }),\n { concurrency: 10 },\n );\n\n return threads\n .filter((thread) => thread.messages.length > 0)\n .map(serializeThread)\n .join('\\n');\n },\n Effect.provide(\n DiscordRESTMemoryLive.pipe(Layer.provideMerge(DiscordConfigFromCredential)).pipe(\n Layer.provide(FetchHttpClient.layer),\n ),\n ),\n Effect.orDie,\n ),\n ),\n);\n\n/**\n * @param unixTimestamp in seconds\n */\nconst generateSnowflake = (unixTimestamp: number): bigint => {\n const discordEpoch = 1420070400000n; // Discord Epoch (ms)\n return (BigInt(unixTimestamp * 1000) - discordEpoch) << 22n;\n};\n\nconst parseSnowflake = (snowflake: string): Date => {\n const discordEpoch = 1420070400000n; // Discord Epoch (ms)\n return new Date(Number((BigInt(snowflake) >> 22n) + discordEpoch));\n};\n\n// TODO(burdon): Move to @dxos/types.\nconst makeMessage = (message: MessageResponse): Message.Message =>\n Obj.make(Message.Message, {\n [Obj.Meta]: {\n keys: [\n { id: message.id, source: 'discord.com' },\n { id: message.channel_id, source: 'discord.com/thread' },\n ],\n },\n sender: { name: message.author.username },\n created: message.timestamp,\n blocks: [{ _tag: 'text', text: message.content }],\n });\n\n/**\n * Standard JSON serialization is to verbose for large amounts of data.\n */\nconst serializeThread = (thread: Thread): string => {\n return `<thread id=${thread.discordChannelId} name=${thread.name ?? ''}>\\n${thread.messages\n .map(\n (message) =>\n ` ${message.sender.name}: ${message.blocks\n .filter((block: any) => block._tag === 'text')\n .map((block: any) => block.text)\n .join(' ')}`,\n )\n .join('\\n')}\\n</thread>`;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["FetchHttpClient", "DiscordConfig", "DiscordREST", "DiscordRESTMemoryLive", "Array", "Effect", "Function", "Layer", "Option", "Obj", "CredentialsService", "TracingService", "log", "Operation", "Message", "DiscordConfigFromCredential", "unwrapEffect", "gen", "DiscordConfig", "layer", "token", "CredentialsService", "getApiKey", "service", "rest", "baseUrl", "DEFAULT_AFTER", "DEFAULT_LIMIT", "DEFAULT_IGNORE_USERNAMES", "FetchMessages", "pipe", "Operation", "withHandler", "fnUntraced", "serverId", "channelId", "after", "last", "pageSize", "limit", "ignoreUsernames", "Error", "afterTs", "Date", "now", "TimeRange", "toSeconds", "DiscordREST", "channels", "push", "listGuildChannels", "threads", "guildThreads", "getActiveGuildThreads", "filter", "channel", "id", "length", "log", "info", "name", "undefined", "TracingService", "emitStatus", "message", "forEach", "allMessages", "lastMessage", "none", "lastId", "map", "Obj", "getKeys", "flatMap", "fromIterable", "getOrElse", "options", "generateSnowflake", "afterSnowflake", "parseSnowflake", "messages", "listMessages", "makeMessage", "reverse", "catchTag", "err", "cause", "code", "succeed", "fail", "fromNullable", "at", "discordChannelId", "sender", "includes", "blocks", "some", "block", "_tag", "text", "trim", "concurrency", "thread", "serializeThread", "join", "provide", "DiscordRESTMemoryLive", "provideMerge", "orDie", "unixTimestamp", "discordEpoch", "BigInt", "snowflake", "Number", "make", "Message", "Meta", "keys", "source", "channel_id", "author", "username", "created", "timestamp", "content"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/blueprints/project/functions/get-context.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Database, Obj } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { Plan, Agent } from '../../../types';\nimport { GetContext } from './definitions';\n\nexport default GetContext.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* () {\n const agent = yield* Agent.getFromChatContext;\n\n return {\n id: agent.id,\n name: agent.name,\n spec: yield* agent.spec.pipe(Database.load).pipe(\n Effect.map((_) => _.content),\n Effect.catchTag('ObjectNotFoundError', () => Effect.succeed('No spec found.')),\n ),\n plan: yield* (\n agent.plan?.pipe(Database.load).pipe(\n Effect.map(Plan.formatPlan),\n Effect.catchTag('ObjectNotFoundError', () => Effect.succeed('No plan found.')),\n ) ?? Effect.succeed('No plan found.')\n ),\n artifacts: yield* Effect.forEach(agent.artifacts, (artifact) =>\n Effect.gen(function* () {\n return {\n name: artifact.name,\n type: yield* Database.load(artifact.data).pipe(\n Effect.map(Obj.getTypename),\n Effect.catchTag('ObjectNotFoundError', () => Effect.succeed('Artifact not found.')),\n ),\n dxn: artifact.data.dxn.toString(),\n };\n }),\n ),\n };\n }) as any,\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,UAAUC,WAAW;AAC9B,SAASC,iBAAiB;AAK1B,IAAA,sBAAeC,WAAWC,KACxBC,UAAUC,YACDC,kBAAW,aAAA;AAChB,QAAMC,QAAQ,OAAOC,cAAMC;AAE3B,SAAO;IACLC,IAAIH,MAAMG;IACVC,MAAMJ,MAAMI;IACZC,MAAM,OAAOL,MAAMK,KAAKT,KAAKU,SAASC,IAAI,EAAEX,KACnCY,WAAI,CAACC,MAAMA,EAAEC,OAAO,GACpBC,gBAAS,uBAAuB,MAAaC,eAAQ,gBAAA,CAAA,CAAA;IAE9DC,MAAM,OACJb,MAAMa,MAAMjB,KAAKU,SAASC,IAAI,EAAEX,KACvBY,WAAIM,aAAKC,UAAU,GACnBJ,gBAAS,uBAAuB,MAAaC,eAAQ,gBAAA,CAAA,CAAA,KAClDA,eAAQ,gBAAA;IAEtBI,WAAW,OAAcC,eAAQjB,MAAMgB,WAAW,CAACE,aAC1CC,WAAI,aAAA;AACT,aAAO;QACLf,MAAMc,SAASd;QACfgB,MAAM,OAAOd,SAASC,KAAKW,SAASG,IAAI,EAAEzB,KACjCY,WAAIc,IAAIC,WAAW,GACnBZ,gBAAS,uBAAuB,MAAaC,eAAQ,qBAAA,CAAA,CAAA;QAE9DY,KAAKN,SAASG,KAAKG,IAAIC,SAAQ;MACjC;IACF,CAAA,CAAA;EAEJ;AACF,CAAA,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Database", "Obj", "Operation", "GetContext", "pipe", "Operation", "withHandler", "fnUntraced", "agent", "Agent", "getFromChatContext", "id", "name", "spec", "Database", "load", "map", "_", "content", "catchTag", "succeed", "plan", "Plan", "formatPlan", "artifacts", "forEach", "artifact", "gen", "type", "data", "Obj", "getTypename", "dxn", "toString"]
|
|
7
|
-
}
|