@dxos/assistant-toolkit 0.8.4-main.cb12b3f963 → 0.8.4-main.d9fc60f731
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +102 -5
- package/dist/lib/neutral/{add-artifact-TWTWAY3H.mjs → add-artifact-ADKF427P.mjs} +6 -6
- package/dist/lib/neutral/{add-artifact-TWTWAY3H.mjs.map → add-artifact-ADKF427P.mjs.map} +3 -3
- package/dist/lib/neutral/{agent-7ROVDSSY.mjs → agent-4HT4GKKI.mjs} +9 -9
- package/dist/lib/neutral/{agent-7ROVDSSY.mjs.map → agent-4HT4GKKI.mjs.map} +2 -2
- package/dist/lib/neutral/{chunk-TO5IX24K.mjs → chunk-3ZDYN7BG.mjs} +16 -27
- package/dist/lib/neutral/chunk-3ZDYN7BG.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-EJAQUAKM.mjs → chunk-53BZWMRB.mjs} +12 -8
- package/dist/lib/neutral/chunk-53BZWMRB.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-WLR3BGO4.mjs → chunk-6SYN5IV3.mjs} +4 -2
- package/dist/lib/neutral/chunk-6SYN5IV3.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-2XK7EWKJ.mjs → chunk-7OQIX2PP.mjs} +5 -5
- package/dist/lib/neutral/{chunk-2XK7EWKJ.mjs.map → chunk-7OQIX2PP.mjs.map} +3 -3
- package/dist/lib/neutral/{chunk-DN4LTRFN.mjs → chunk-ALDU6VDG.mjs} +43 -54
- package/dist/lib/neutral/chunk-ALDU6VDG.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-J37DYY7A.mjs → chunk-AYV2KMAV.mjs} +16 -5
- package/dist/lib/neutral/chunk-AYV2KMAV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ROMZO4CB.mjs → chunk-BB6X6NT6.mjs} +13 -10
- package/dist/lib/neutral/chunk-BB6X6NT6.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-OHDGJMVE.mjs → chunk-DBUT6FKM.mjs} +16 -14
- package/dist/lib/neutral/chunk-DBUT6FKM.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-NR3GTWRC.mjs → chunk-GQRUBCMT.mjs} +8 -13
- package/dist/lib/neutral/chunk-GQRUBCMT.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JRYAD4TG.mjs +67 -0
- package/dist/lib/neutral/chunk-JRYAD4TG.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ZFXLTBZG.mjs → chunk-PHZNOLXL.mjs} +5 -3
- package/dist/lib/neutral/chunk-PHZNOLXL.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-KGU725LW.mjs → chunk-SOLG2NPH.mjs} +4 -7
- package/dist/lib/neutral/chunk-SOLG2NPH.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-2Q63LLSY.mjs → chunk-T3RP4AUP.mjs} +20 -16
- package/dist/lib/neutral/chunk-T3RP4AUP.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-CVUA23QI.mjs → chunk-V3PPVL3C.mjs} +44 -30
- package/dist/lib/neutral/chunk-V3PPVL3C.mjs.map +7 -0
- package/dist/lib/neutral/{context-add-IIDPRRVB.mjs → context-add-2G2CDRCK.mjs} +4 -4
- package/dist/lib/neutral/context-add-2G2CDRCK.mjs.map +7 -0
- package/dist/lib/neutral/{context-remove-RDYV4PD4.mjs → context-remove-QQOT57JC.mjs} +4 -4
- package/dist/lib/neutral/context-remove-QQOT57JC.mjs.map +7 -0
- package/dist/lib/neutral/{create-project-WEQYCL7A.mjs → create-project-LVIH4OLF.mjs} +7 -7
- package/dist/lib/neutral/{delete-J3PMWP7Z.mjs → delete-MRER3QMO.mjs} +3 -3
- package/dist/lib/neutral/{enable-blueprints-LBDZH2CY.mjs → enable-blueprints-GEIKTSRV.mjs} +12 -12
- package/dist/lib/neutral/enable-blueprints-GEIKTSRV.mjs.map +7 -0
- package/dist/lib/neutral/{fetch-KHMHV7JR.mjs → fetch-B2AYJK7F.mjs} +2 -2
- package/dist/lib/neutral/{fetch-messages-QOBBCTGC.mjs → fetch-messages-RUUU63L2.mjs} +2 -2
- package/dist/lib/neutral/{get-context-S735CUYM.mjs → get-context-3SXNFRXG.mjs} +10 -10
- package/dist/lib/neutral/{get-context-S735CUYM.mjs.map → get-context-3SXNFRXG.mjs.map} +3 -3
- package/dist/lib/neutral/index.mjs +113 -104
- package/dist/lib/neutral/index.mjs.map +3 -3
- package/dist/lib/neutral/{load-LI7HHVD6.mjs → load-YWYQ4THR.mjs} +2 -2
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/{object-create-ZRBHR72E.mjs → object-create-WME2XFGD.mjs} +9 -12
- package/dist/lib/neutral/object-create-WME2XFGD.mjs.map +7 -0
- package/dist/lib/neutral/{object-delete-I266YAXI.mjs → object-delete-I5OAPI32.mjs} +2 -2
- package/dist/lib/neutral/{object-update-HY4GI7LA.mjs → object-update-VCOL62NX.mjs} +3 -3
- package/dist/lib/neutral/{object-update-HY4GI7LA.mjs.map → object-update-VCOL62NX.mjs.map} +2 -2
- package/dist/lib/neutral/{project-KEZSS5UM.mjs → project-4BYI2PZC.mjs} +6 -6
- package/dist/lib/neutral/{project-rules-UGFRHIX7.mjs → project-rules-7NYDDQ7K.mjs} +5 -5
- package/dist/lib/neutral/{prompt-NPOR2MVC.mjs → prompt-DZP2K2NE.mjs} +12 -9
- package/dist/lib/neutral/prompt-DZP2K2NE.mjs.map +7 -0
- package/dist/lib/neutral/{qualifier-NW5VBP64.mjs → qualifier-NLOWVZCM.mjs} +15 -14
- package/dist/lib/neutral/qualifier-NLOWVZCM.mjs.map +7 -0
- package/dist/lib/neutral/{query-B3NOYFCK.mjs → query-GZDTQRQ6.mjs} +12 -23
- package/dist/lib/neutral/query-GZDTQRQ6.mjs.map +7 -0
- package/dist/lib/neutral/{query-U56GNEV6.mjs → query-KBKGBYUO.mjs} +3 -3
- package/dist/lib/neutral/{query-blueprints-KXADGHSA.mjs → query-blueprints-MFXXRZBY.mjs} +5 -4
- package/dist/lib/neutral/query-blueprints-MFXXRZBY.mjs.map +7 -0
- package/dist/lib/neutral/{relation-create-E7VOVXHU.mjs → relation-create-UHBWQQXS.mjs} +8 -11
- package/dist/lib/neutral/relation-create-UHBWQQXS.mjs.map +7 -0
- package/dist/lib/neutral/{relation-delete-LXY7W2YO.mjs → relation-delete-ZSB7JOHO.mjs} +2 -2
- package/dist/lib/neutral/{save-GWAPLT3Z.mjs → save-B2CSSFDG.mjs} +3 -3
- package/dist/lib/neutral/{schema-add-4TXJO2V7.mjs → schema-add-ZJ64RAZK.mjs} +13 -12
- package/dist/lib/neutral/schema-add-ZJ64RAZK.mjs.map +7 -0
- package/dist/lib/neutral/schema-list-3X3VNYYB.mjs +37 -0
- package/dist/lib/neutral/schema-list-3X3VNYYB.mjs.map +7 -0
- package/dist/lib/neutral/{sync-issues-4YE5XAK5.mjs → sync-issues-36TS2R7R.mjs} +5 -6
- package/dist/lib/neutral/sync-issues-36TS2R7R.mjs.map +7 -0
- package/dist/lib/neutral/{sync-triggers-RFM3YGKG.mjs → sync-triggers-MMHKQDNW.mjs} +39 -37
- package/dist/lib/neutral/sync-triggers-MMHKQDNW.mjs.map +7 -0
- package/dist/lib/neutral/{tag-add-5NOHUTIE.mjs → tag-add-7P5O3IAV.mjs} +4 -5
- package/dist/lib/neutral/tag-add-7P5O3IAV.mjs.map +7 -0
- package/dist/lib/neutral/{tag-remove-QTKYDJAW.mjs → tag-remove-YZIMOFA4.mjs} +4 -5
- package/dist/lib/neutral/tag-remove-YZIMOFA4.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +9 -12
- package/dist/lib/neutral/testing/index.mjs.map +3 -3
- package/dist/lib/neutral/update-tasks-6MJCJ2KC.mjs +13 -0
- package/dist/lib/neutral/update-tasks-6MJCJ2KC.mjs.map +7 -0
- package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +20 -19
- 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 +11 -10
- 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.map +1 -1
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +10 -8
- package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/context-add.d.ts +3 -3
- 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 +3 -3
- package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/definitions.d.ts +23 -17
- package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/database/functions/load.d.ts +2 -2
- package/dist/types/src/blueprints/database/functions/load.d.ts.map +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-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 +2 -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 +3 -3
- 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/schema-add.d.ts.map +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 +6 -3
- 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 +6 -3
- package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -1
- package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -1
- package/dist/types/src/blueprints/memory/functions/definitions.d.ts +2 -2
- 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/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 +14 -1
- package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -1
- package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts +2 -0
- package/dist/types/src/blueprints/planning/functions/update-tasks.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +1 -5
- package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/definitions.d.ts +62 -47
- package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/get-context.d.ts +1 -12
- package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -1
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts +3 -71
- package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +24 -20
- 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 +47 -40
- package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +22 -18
- package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -1
- package/dist/types/src/blueprints/testing.d.ts +4 -4
- package/dist/types/src/blueprints/testing.d.ts.map +1 -1
- package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/crud/graph.d.ts +8 -11
- package/dist/types/src/crud/graph.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +3 -3
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/functions/agent/definitions.d.ts +18 -25
- package/dist/types/src/functions/agent/definitions.d.ts.map +1 -1
- package/dist/types/src/sync/sync.d.ts +1 -2
- package/dist/types/src/sync/sync.d.ts.map +1 -1
- package/dist/types/src/testing/plugins.d.ts +1 -1
- package/dist/types/src/testing/plugins.d.ts.map +1 -1
- package/dist/types/src/types/Agent.d.ts +26 -25
- package/dist/types/src/types/Agent.d.ts.map +1 -1
- package/dist/types/src/types/Chat.d.ts +17 -20
- package/dist/types/src/types/Chat.d.ts.map +1 -1
- package/dist/types/src/types/McpServer.d.ts +5 -3
- package/dist/types/src/types/McpServer.d.ts.map +1 -1
- package/dist/types/src/types/Memory.d.ts +1 -2
- package/dist/types/src/types/Memory.d.ts.map +1 -1
- package/dist/types/src/types/Plan.d.ts +15 -17
- package/dist/types/src/types/Plan.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +30 -31
- package/src/blueprints/automation/blueprint.ts +4 -4
- package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -1
- package/src/blueprints/blueprint-manager/blueprint.test.ts +24 -67
- package/src/blueprints/blueprint-manager/blueprint.ts +6 -6
- package/src/blueprints/blueprint-manager/functions/definitions.ts +11 -20
- package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +10 -7
- package/src/blueprints/blueprint-manager/functions/index.ts +0 -1
- package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +3 -2
- package/src/blueprints/browser/blueprint.conversations.json +1 -0
- package/src/blueprints/browser/blueprint.test.ts +7 -6
- package/src/blueprints/browser/blueprint.ts +1 -1
- package/src/blueprints/database/blueprint.conversations.json +1 -1
- package/src/blueprints/database/blueprint.test.ts +25 -25
- package/src/blueprints/database/blueprint.ts +1 -1
- package/src/blueprints/database/functions/context-add.ts +2 -2
- package/src/blueprints/database/functions/context-remove.ts +2 -2
- package/src/blueprints/database/functions/definitions.ts +41 -27
- package/src/blueprints/database/functions/object-create.ts +8 -5
- package/src/blueprints/database/functions/object-update.ts +1 -1
- package/src/blueprints/database/functions/query.ts +16 -11
- package/src/blueprints/database/functions/relation-create.ts +7 -4
- package/src/blueprints/database/functions/schema-add.ts +7 -12
- package/src/blueprints/database/functions/schema-list.ts +12 -7
- package/src/blueprints/database/functions/tag-add.ts +2 -3
- package/src/blueprints/database/functions/tag-remove.ts +2 -3
- package/src/blueprints/discord/blueprint.ts +1 -1
- package/src/blueprints/discord/functions/definitions.ts +3 -1
- package/src/blueprints/discord/functions/fetch-messages.test.ts +7 -2
- package/src/blueprints/github/functions/definitions.ts +3 -1
- package/src/blueprints/linear/blueprint.ts +1 -1
- package/src/blueprints/linear/functions/definitions.ts +3 -1
- package/src/blueprints/linear/functions/linear.test.ts +1 -2
- package/src/blueprints/linear/functions/sync-issues.ts +1 -2
- package/src/blueprints/memory/blueprint.conversations.json +1 -1
- package/src/blueprints/memory/blueprint.test.ts +2 -2
- package/src/blueprints/memory/blueprint.ts +1 -1
- package/src/blueprints/memory/functions/definitions.ts +7 -3
- package/src/blueprints/planning/blueprint.ts +1 -1
- package/src/blueprints/planning/functions/index.ts +1 -1
- package/src/blueprints/planning/functions/{definitions.ts → update-tasks.md} +29 -50
- package/src/blueprints/planning/functions/update-tasks.test.ts +55 -0
- package/src/blueprints/planning/functions/update-tasks.ts +27 -3
- package/src/blueprints/project/blueprint.conversations.json +1 -1
- package/src/blueprints/project/blueprint.test.ts +18 -20
- package/src/blueprints/project/blueprint.ts +2 -2
- package/src/blueprints/project/functions/add-artifact.ts +1 -0
- package/src/blueprints/project/functions/agent.ts +4 -4
- package/src/blueprints/project/functions/definitions.ts +13 -10
- package/src/blueprints/project/functions/get-context.ts +5 -4
- package/src/blueprints/project/functions/qualifier.ts +8 -7
- package/src/blueprints/project-wizard/blueprint.ts +1 -1
- package/src/blueprints/project-wizard/functions/definitions.ts +11 -8
- package/src/blueprints/project-wizard/functions/sync-triggers.ts +33 -35
- package/src/blueprints/testing.ts +10 -4
- package/src/blueprints/websearch/blueprint.conversations.json +1 -1
- package/src/blueprints/websearch/functions/definitions.ts +3 -1
- package/src/crud/graph.test.ts +1 -1
- package/src/crud/graph.ts +143 -153
- package/src/errors.ts +3 -3
- package/src/functions/agent/definitions.ts +10 -3
- package/src/functions/agent/prompt.conversations.json +1 -1
- package/src/functions/agent/prompt.test.ts +10 -13
- package/src/functions/agent/prompt.ts +7 -4
- package/src/sync/sync.ts +7 -6
- package/src/testing/plugins.tsx +10 -15
- package/src/types/Agent.ts +44 -51
- package/src/types/Chat.ts +10 -20
- package/src/types/McpServer.ts +9 -15
- package/src/types/Memory.ts +4 -7
- package/src/types/Plan.ts +4 -11
- package/dist/lib/neutral/chunk-2Q63LLSY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-43U4ZAOZ.mjs +0 -140
- package/dist/lib/neutral/chunk-43U4ZAOZ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-CVUA23QI.mjs.map +0 -7
- package/dist/lib/neutral/chunk-DN4LTRFN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-J37DYY7A.mjs.map +0 -7
- package/dist/lib/neutral/chunk-KGU725LW.mjs.map +0 -7
- package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +0 -7
- package/dist/lib/neutral/chunk-OHDGJMVE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ROMZO4CB.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TO5IX24K.mjs.map +0 -7
- package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ZFXLTBZG.mjs.map +0 -7
- package/dist/lib/neutral/context-add-IIDPRRVB.mjs.map +0 -7
- package/dist/lib/neutral/context-remove-RDYV4PD4.mjs.map +0 -7
- package/dist/lib/neutral/enable-blueprints-LBDZH2CY.mjs.map +0 -7
- package/dist/lib/neutral/object-create-ZRBHR72E.mjs.map +0 -7
- package/dist/lib/neutral/prompt-NPOR2MVC.mjs.map +0 -7
- package/dist/lib/neutral/qualifier-NW5VBP64.mjs.map +0 -7
- package/dist/lib/neutral/query-B3NOYFCK.mjs.map +0 -7
- package/dist/lib/neutral/query-blueprints-KXADGHSA.mjs.map +0 -7
- package/dist/lib/neutral/relation-create-E7VOVXHU.mjs.map +0 -7
- package/dist/lib/neutral/schema-add-4TXJO2V7.mjs.map +0 -7
- package/dist/lib/neutral/schema-list-PJS5AFZ3.mjs +0 -38
- package/dist/lib/neutral/schema-list-PJS5AFZ3.mjs.map +0 -7
- package/dist/lib/neutral/sync-issues-4YE5XAK5.mjs.map +0 -7
- package/dist/lib/neutral/sync-triggers-RFM3YGKG.mjs.map +0 -7
- package/dist/lib/neutral/tag-add-5NOHUTIE.mjs.map +0 -7
- package/dist/lib/neutral/tag-remove-QTKYDJAW.mjs.map +0 -7
- package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs +0 -16
- package/dist/lib/neutral/update-blueprints-N2AK2VUR.mjs.map +0 -7
- package/dist/lib/neutral/update-tasks-QN2EMFUU.mjs +0 -46
- package/dist/lib/neutral/update-tasks-QN2EMFUU.mjs.map +0 -7
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +0 -4
- package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +0 -1
- package/dist/types/src/blueprints/planning/functions/definitions.d.ts +0 -11
- package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +0 -1
- package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +0 -18
- /package/dist/lib/neutral/{create-project-WEQYCL7A.mjs.map → create-project-LVIH4OLF.mjs.map} +0 -0
- /package/dist/lib/neutral/{delete-J3PMWP7Z.mjs.map → delete-MRER3QMO.mjs.map} +0 -0
- /package/dist/lib/neutral/{fetch-KHMHV7JR.mjs.map → fetch-B2AYJK7F.mjs.map} +0 -0
- /package/dist/lib/neutral/{fetch-messages-QOBBCTGC.mjs.map → fetch-messages-RUUU63L2.mjs.map} +0 -0
- /package/dist/lib/neutral/{load-LI7HHVD6.mjs.map → load-YWYQ4THR.mjs.map} +0 -0
- /package/dist/lib/neutral/{object-delete-I266YAXI.mjs.map → object-delete-I5OAPI32.mjs.map} +0 -0
- /package/dist/lib/neutral/{project-KEZSS5UM.mjs.map → project-4BYI2PZC.mjs.map} +0 -0
- /package/dist/lib/neutral/{project-rules-UGFRHIX7.mjs.map → project-rules-7NYDDQ7K.mjs.map} +0 -0
- /package/dist/lib/neutral/{query-U56GNEV6.mjs.map → query-KBKGBYUO.mjs.map} +0 -0
- /package/dist/lib/neutral/{relation-delete-LXY7W2YO.mjs.map → relation-delete-ZSB7JOHO.mjs.map} +0 -0
- /package/dist/lib/neutral/{save-GWAPLT3Z.mjs.map → save-B2CSSFDG.mjs.map} +0 -0
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
Chat,
|
|
3
3
|
CompanionTo,
|
|
4
4
|
make
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GQRUBCMT.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__export
|
|
8
8
|
} from "./chunk-J5LGTIGS.mjs";
|
|
@@ -19,7 +19,7 @@ __export(Plan_exports, {
|
|
|
19
19
|
makePlan: () => makePlan
|
|
20
20
|
});
|
|
21
21
|
import * as Schema from "effect/Schema";
|
|
22
|
-
import { Annotation, Obj, Ref, Type } from "@dxos/echo";
|
|
22
|
+
import { DXN, Annotation, Obj, Ref, Type } from "@dxos/echo";
|
|
23
23
|
var TaskId = Schema.String.pipe(Schema.brand("@dxos/assistant-toolkit/TaskId"));
|
|
24
24
|
var Task = Schema.Struct({
|
|
25
25
|
/**
|
|
@@ -43,10 +43,7 @@ var Task = Schema.Struct({
|
|
|
43
43
|
});
|
|
44
44
|
var Plan = Schema.Struct({
|
|
45
45
|
tasks: Schema.Array(Task)
|
|
46
|
-
}).pipe(Type.
|
|
47
|
-
typename: "org.dxos.type.plan",
|
|
48
|
-
version: "0.1.0"
|
|
49
|
-
}), Annotation.SystemTypeAnnotation.set(true));
|
|
46
|
+
}).pipe(Annotation.HiddenAnnotation.set(true), Type.makeObject(DXN.make("org.dxos.type.plan", "0.1.0")));
|
|
50
47
|
var generateTaskId = (plan) => {
|
|
51
48
|
const existingIds = plan.tasks.map((task) => {
|
|
52
49
|
const [num, letter] = task.id.split("-");
|
|
@@ -95,14 +92,12 @@ __export(Agent_exports, {
|
|
|
95
92
|
import * as Effect from "effect/Effect";
|
|
96
93
|
import * as Function from "effect/Function";
|
|
97
94
|
import * as Schema2 from "effect/Schema";
|
|
98
|
-
import {
|
|
99
|
-
import { Annotation as Annotation2, Database, Feed, Format, Obj as Obj2, Ref as Ref2, Relation, Type as Type2 } from "@dxos/echo";
|
|
100
|
-
import {
|
|
101
|
-
import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
95
|
+
import { AiContext } from "@dxos/assistant";
|
|
96
|
+
import { DXN as DXN2, Annotation as Annotation2, Database, Feed, Format, Obj as Obj2, Ref as Ref2, Relation, Type as Type2 } from "@dxos/echo";
|
|
97
|
+
import { FormInputAnnotation } from "@dxos/echo/internal";
|
|
102
98
|
import { acquireReleaseResource } from "@dxos/effect";
|
|
103
|
-
import { QueueService } from "@dxos/functions";
|
|
104
99
|
import { invariant } from "@dxos/invariant";
|
|
105
|
-
import {
|
|
100
|
+
import { Text } from "@dxos/schema";
|
|
106
101
|
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/types/Agent.ts";
|
|
107
102
|
var Agent = Schema2.Struct({
|
|
108
103
|
name: Schema2.optional(Schema2.String),
|
|
@@ -135,47 +130,48 @@ var Agent = Schema2.Struct({
|
|
|
135
130
|
data: Ref2.Ref(Obj2.Unknown)
|
|
136
131
|
})).pipe(FormInputAnnotation.set(false)),
|
|
137
132
|
/**
|
|
138
|
-
* Input feed for subscriptions.
|
|
139
|
-
*/
|
|
140
|
-
// TODO(burdon): Rename to Feed?
|
|
141
|
-
// NOTE: Named `queue` to conform to subscribable schema (see QueueAnnotation).
|
|
142
|
-
queue: Schema2.optional(Ref2.Ref(Queue).pipe(FormInputAnnotation.set(false))),
|
|
143
|
-
/**
|
|
144
133
|
* References to objects with a canonical queue property.
|
|
145
134
|
* Schema must have the QueueAnnotation.
|
|
146
135
|
*/
|
|
136
|
+
// Change to trigger.
|
|
147
137
|
// TODO(dmaretskyi): Turn into an array of objects when form-data
|
|
148
138
|
subscriptions: Schema2.Array(Ref2.Ref(Obj2.Unknown)).pipe(FormInputAnnotation.set(false)),
|
|
149
139
|
/**
|
|
140
|
+
* Cron expression for a timer trigger that invokes the agent worker on a schedule.
|
|
141
|
+
* The timer trigger bypasses the qualifier and goes straight to the agent worker.
|
|
142
|
+
*/
|
|
143
|
+
// Change to trigger.
|
|
144
|
+
cron: Schema2.optional(Schema2.String).annotations({
|
|
145
|
+
title: "Cron",
|
|
146
|
+
description: "Cron expression for a timer trigger that invokes the agent on a schedule."
|
|
147
|
+
}),
|
|
148
|
+
/**
|
|
150
149
|
* Allow the agent to filter events.
|
|
151
150
|
* Related events will be added to the input queue of the agent.
|
|
152
151
|
* It is recommended to enable this.
|
|
152
|
+
* @deprecated
|
|
153
153
|
*/
|
|
154
154
|
filterEvents: Schema2.optional(Schema2.Boolean).annotations({
|
|
155
155
|
title: "Filter events",
|
|
156
156
|
description: "Allow the agent to filter events."
|
|
157
157
|
}),
|
|
158
158
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
159
|
+
* Input feed for subscriptions.
|
|
160
|
+
* @deprecated Subscriptions will write directly to the agent.
|
|
161
161
|
*/
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
description: "Cron expression for a timer trigger that invokes the agent on a schedule."
|
|
165
|
-
})
|
|
166
|
-
}).pipe(Type2.object({
|
|
167
|
-
typename: "org.dxos.type.agent",
|
|
168
|
-
version: "0.1.0"
|
|
169
|
-
}), LabelAnnotation.set([
|
|
162
|
+
feed: Schema2.optional(Ref2.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)))
|
|
163
|
+
}).pipe(Annotation2.LabelAnnotation.set([
|
|
170
164
|
"name"
|
|
171
|
-
]),
|
|
165
|
+
]), Annotation2.IconAnnotation.set({
|
|
172
166
|
icon: "ph--drone--regular",
|
|
173
167
|
hue: "sky"
|
|
174
|
-
}));
|
|
168
|
+
}), Type2.makeObject(DXN2.make("org.dxos.type.agent", "0.1.0")));
|
|
175
169
|
var makeInitialized = (props, blueprint) => Effect.gen(function* () {
|
|
176
|
-
const agent = Obj2.make(Agent, {
|
|
170
|
+
const agent = yield* Database.add(Obj2.make(Agent, {
|
|
177
171
|
...props,
|
|
178
|
-
instructions: Ref2.make(Text.make(
|
|
172
|
+
instructions: Ref2.make(Text.make({
|
|
173
|
+
content: props.instructions
|
|
174
|
+
})),
|
|
179
175
|
plan: Ref2.make(makePlan({
|
|
180
176
|
tasks: []
|
|
181
177
|
})),
|
|
@@ -183,11 +179,10 @@ var makeInitialized = (props, blueprint) => Effect.gen(function* () {
|
|
|
183
179
|
subscriptions: props.subscriptions ?? [],
|
|
184
180
|
filterEvents: props.filterEvents ?? true,
|
|
185
181
|
enabled: props.enabled ?? true
|
|
186
|
-
});
|
|
187
|
-
yield* Database.add(agent);
|
|
182
|
+
}));
|
|
188
183
|
const feed = yield* Database.add(Feed.make());
|
|
189
184
|
const runtime2 = yield* Effect.runtime();
|
|
190
|
-
const contextBinder = new
|
|
185
|
+
const contextBinder = new AiContext.Binder({
|
|
191
186
|
feed,
|
|
192
187
|
runtime: runtime2
|
|
193
188
|
});
|
|
@@ -213,25 +208,25 @@ var makeInitialized = (props, blueprint) => Effect.gen(function* () {
|
|
|
213
208
|
[Relation.Source]: chat,
|
|
214
209
|
[Relation.Target]: agent
|
|
215
210
|
}));
|
|
216
|
-
const
|
|
211
|
+
const inputFeed = yield* Database.add(Feed.make());
|
|
217
212
|
Obj2.update(agent, (agent2) => {
|
|
218
213
|
agent2.chat = Ref2.make(chat);
|
|
219
|
-
agent2.
|
|
214
|
+
agent2.feed = Ref2.make(inputFeed);
|
|
220
215
|
});
|
|
221
216
|
return agent;
|
|
222
217
|
});
|
|
223
218
|
var resetChatHistory = (agent) => Effect.gen(function* () {
|
|
224
|
-
invariant(agent.chat, "Agent must have an existing chat to reset.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
219
|
+
invariant(agent.chat, "Agent must have an existing chat to reset.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 141, S: this, A: ["agent.chat", "'Agent must have an existing chat to reset.'"] });
|
|
225
220
|
const existingFeed = yield* agent.chat.pipe(Database.load).pipe(Effect.map((_) => _.feed), Effect.flatMap(Database.load));
|
|
226
221
|
const runtime2 = yield* Effect.runtime();
|
|
227
|
-
const existingContextBinder = yield* acquireReleaseResource(() => new
|
|
222
|
+
const existingContextBinder = yield* acquireReleaseResource(() => new AiContext.Binder({
|
|
228
223
|
feed: existingFeed,
|
|
229
224
|
runtime: runtime2
|
|
230
225
|
}));
|
|
231
226
|
const blueprints = existingContextBinder.getBlueprints().map((blueprint) => Ref2.make(blueprint));
|
|
232
227
|
const objects = existingContextBinder.getObjects().map((object) => Ref2.make(object));
|
|
233
228
|
const feed = yield* Database.add(Feed.make());
|
|
234
|
-
const contextBinder = new
|
|
229
|
+
const contextBinder = new AiContext.Binder({
|
|
235
230
|
feed,
|
|
236
231
|
runtime: runtime2
|
|
237
232
|
});
|
|
@@ -252,7 +247,7 @@ var resetChatHistory = (agent) => Effect.gen(function* () {
|
|
|
252
247
|
}));
|
|
253
248
|
}).pipe(Effect.scoped);
|
|
254
249
|
var getFromChatContext = Effect.gen(function* () {
|
|
255
|
-
const agents = yield* Function.pipe(
|
|
250
|
+
const agents = yield* Function.pipe(AiContext.Service.findObjects(Agent));
|
|
256
251
|
if (agents.length !== 1) {
|
|
257
252
|
return yield* Effect.fail(new Error(`There should be exactly one agent in context. Got: ${agents.length}`));
|
|
258
253
|
}
|
|
@@ -266,28 +261,22 @@ __export(McpServer_exports, {
|
|
|
266
261
|
McpServer: () => McpServer
|
|
267
262
|
});
|
|
268
263
|
import * as Schema3 from "effect/Schema";
|
|
269
|
-
import {
|
|
270
|
-
import {
|
|
264
|
+
import { McpServer as McpServerSpec } from "@dxos/compute";
|
|
265
|
+
import { DXN as DXN3, Annotation as Annotation3, Type as Type3 } from "@dxos/echo";
|
|
266
|
+
import { LabelAnnotation } from "@dxos/echo/internal";
|
|
271
267
|
var McpServer = Schema3.Struct({
|
|
272
|
-
|
|
273
|
-
url: Schema3.String,
|
|
274
|
-
protocol: Schema3.Union(Schema3.Literal("sse"), Schema3.Literal("http")),
|
|
275
|
-
/** Stored in plaintext; replicated to all peers in the space. */
|
|
276
|
-
apiKey: Schema3.optional(Schema3.String),
|
|
268
|
+
...McpServerSpec.McpServer.fields,
|
|
277
269
|
enabled: Schema3.optional(Schema3.Boolean)
|
|
278
|
-
}).pipe(
|
|
279
|
-
typename: "org.dxos.type.assistant.mcpServer",
|
|
280
|
-
version: "0.1.0"
|
|
281
|
-
}), LabelAnnotation2.set([
|
|
270
|
+
}).pipe(LabelAnnotation.set([
|
|
282
271
|
"name"
|
|
283
272
|
]), Annotation3.IconAnnotation.set({
|
|
284
273
|
icon: "ph--plugs-connected--regular",
|
|
285
274
|
hue: "sky"
|
|
286
|
-
}));
|
|
275
|
+
}), Type3.makeObject(DXN3.make("org.dxos.type.assistant.mcpServer", "0.1.0")));
|
|
287
276
|
|
|
288
277
|
export {
|
|
289
278
|
Plan_exports,
|
|
290
279
|
Agent_exports,
|
|
291
280
|
McpServer_exports
|
|
292
281
|
};
|
|
293
|
-
//# sourceMappingURL=chunk-
|
|
282
|
+
//# sourceMappingURL=chunk-ALDU6VDG.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Plan.ts", "../../../src/types/Agent.ts", "../../../src/types/McpServer.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { DXN, Annotation, Obj, Ref, Type } from '@dxos/echo';\n\nimport * as Chat from './Chat';\n\nexport const TaskId = Schema.String.pipe(Schema.brand('@dxos/assistant-toolkit/TaskId'));\nexport type TaskId = Schema.Schema.Type<typeof TaskId>;\n\nexport const Task = Schema.Struct({\n /**\n * Short task ID unique within the plan.\n */\n id: TaskId,\n\n title: Schema.String.annotations({\n description: 'Task title and description.',\n }),\n\n status: Schema.Literal('todo', 'in-progress', 'done'),\n\n /**\n * Parent task ID.\n */\n parent: Schema.optional(TaskId).annotations({\n description: 'Parent task ID.',\n }),\n\n /**\n * Chat object that this task is associated with.\n */\n chat: Schema.optional(Ref.Ref(Chat.Chat)),\n});\n\nexport type Task = Schema.Schema.Type<typeof Task>;\n/**\n * Hierarchical collection of tasks for humans and agents to track progress.\n */\nexport const Plan = Schema.Struct({\n tasks: Schema.Array(Task),\n}).pipe(Annotation.HiddenAnnotation.set(true), Type.makeObject(DXN.make('org.dxos.type.plan', '0.1.0')));\nexport type Plan = Type.InstanceType<typeof Plan>;\nexport const generateTaskId = (plan: Plan): TaskId => {\n const existingIds = plan.tasks\n .map((task) => {\n const [num, letter] = task.id.split('-');\n return parseInt(num);\n })\n .filter((_) => !isNaN(_));\n let newId;\n if (existingIds.length === 0) {\n newId = 1;\n } else {\n newId = Math.max(...existingIds) + 1;\n }\n // Add random suffix to avoid collisions.\n return TaskId.make(`${newId}-${crypto.randomUUID().slice(0, 2)}`);\n};\n\n/**\n * Add new tasks to a plan, generating IDs for new tasks.\n * Use inside an `Obj.update` callback.\n */\nexport const addTasks = (\n plan: Obj.Mutable<Plan>,\n tasks: (Pick<Task, 'title'> & Partial<Pick<Task, 'status' | 'parent' | 'chat'>>)[],\n) => {\n for (const task of tasks) {\n const taskId = generateTaskId(plan);\n plan.tasks.push({ id: taskId, ...task, status: task.status ?? 'todo' });\n }\n return plan;\n};\n\ninterface MakePlanProps {\n tasks: {\n title: string;\n status?: 'todo' | 'in-progress' | 'done';\n }[];\n}\n\nexport const makePlan = (props: MakePlanProps): Plan => {\n const plan = Obj.make(Plan, { tasks: [] });\n Obj.update(plan, (plan) => {\n addTasks(plan, props.tasks);\n });\n return plan;\n};\n\n/**\n * Formats plan to markdown format.\n */\nexport const formatPlan = (plan: Plan): string => {\n return plan.tasks\n .map((task) => `- **${task.status?.toLocaleUpperCase()}**: ${task.title ?? 'No title'} <!-- id=${task.id} -->`)\n .join('\\n');\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Schema from 'effect/Schema';\n\nimport { AiContext } from '@dxos/assistant';\nimport { type Blueprint } from '@dxos/compute';\nimport { DXN, Annotation, Database, Feed, Format, Obj, Ref, Relation, Type } from '@dxos/echo';\nimport { type EntityNotFoundError } from '@dxos/echo/Err';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\nimport { acquireReleaseResource } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { Text } from '@dxos/schema';\n\nimport * as Chat from './Chat';\nimport * as Plan from './Plan';\n\n/**\n * Agent schema definition.\n */\nexport const Agent = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n /**\n * When false, agent triggers are disabled after sync-triggers runs.\n */\n enabled: Schema.optional(Schema.Boolean).annotations({\n title: 'Enabled',\n description: 'Master switch for agent automation; propagated to all triggers on sync.',\n }),\n\n /**\n * Instructions for the agent.\n */\n instructions: Ref.Ref(Text.Text).pipe(\n Format.FormatAnnotation.set(Format.TypeFormat.Markdown),\n Schema.annotations({ title: 'Instructions' }),\n ),\n\n /**\n * Primary chat for the agent.\n */\n // TODO(dmaretskyi): Multiple chats; RB: branching hierarchy.\n chat: Schema.optional(Ref.Ref(Chat.Chat).pipe(FormInputAnnotation.set(false))),\n\n // TODO(burdon): Is this used? Should it be an artifact?\n // Format.FormatAnnotation.set(Format.TypeFormat.Markdown)\n plan: Ref.Ref(Plan.Plan).pipe(FormInputAnnotation.set(false)),\n\n // TODO(burdon): Currently Memory.Memory objects are global to the space; make them artifacts?\n artifacts: Schema.Array(\n Schema.Struct({\n // TODO(dmaretskyi): Consider gettings names from the artifact itself using Obj.getLabel.\n name: Schema.String,\n // TODO(burdon): Rename object.\n data: Ref.Ref(Obj.Unknown),\n }),\n ).pipe(FormInputAnnotation.set(false)),\n\n /**\n * References to objects with a canonical queue property.\n * Schema must have the QueueAnnotation.\n */\n // Change to trigger.\n // TODO(dmaretskyi): Turn into an array of objects when form-data\n subscriptions: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(FormInputAnnotation.set(false)),\n\n /**\n * Cron expression for a timer trigger that invokes the agent worker on a schedule.\n * The timer trigger bypasses the qualifier and goes straight to the agent worker.\n */\n // Change to trigger.\n cron: Schema.optional(Schema.String).annotations({\n title: 'Cron',\n description: 'Cron expression for a timer trigger that invokes the agent on a schedule.',\n }),\n\n /**\n * Allow the agent to filter events.\n * Related events will be added to the input queue of the agent.\n * It is recommended to enable this.\n * @deprecated\n */\n filterEvents: Schema.optional(Schema.Boolean).annotations({\n title: 'Filter events',\n description: 'Allow the agent to filter events.',\n }),\n\n /**\n * Input feed for subscriptions.\n * @deprecated Subscriptions will write directly to the agent.\n */\n feed: Schema.optional(Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false))),\n}).pipe(\n Annotation.LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({ icon: 'ph--drone--regular', hue: 'sky' }),\n Type.makeObject(DXN.make('org.dxos.type.agent', '0.1.0')),\n);\n\nexport type Agent = Type.InstanceType<typeof Agent>;\n/**\n * Creates a fully initialized Agent with chat, queue, and context bindings.\n *\n * @param props - Agent properties including spec, plan, blueprints, and context objects.\n * @param blueprint - The blueprint to use for the agent context.\n * @returns An Effect that yields the initialized Agent.\n */\nexport const makeInitialized = (\n props: Omit<Obj.MakeProps<typeof Agent>, 'instructions' | 'plan' | 'artifacts' | 'subscriptions' | 'chat'> &\n Partial<Pick<Obj.MakeProps<typeof Agent>, 'artifacts' | 'subscriptions'>> & {\n instructions: string;\n blueprints?: Ref.Ref<Blueprint.Blueprint>[];\n contextObjects?: Ref.Ref<Obj.Any>[];\n },\n blueprint: Blueprint.Blueprint,\n): Effect.Effect<Agent, never, Feed.FeedService | Database.Service> =>\n Effect.gen(function* () {\n const agent = yield* Database.add(\n Obj.make(Agent, {\n ...props,\n instructions: Ref.make(Text.make({ content: props.instructions })),\n plan: Ref.make(Plan.makePlan({ tasks: [] })),\n artifacts: props.artifacts ?? [],\n subscriptions: props.subscriptions ?? [],\n filterEvents: props.filterEvents ?? true,\n enabled: props.enabled ?? true,\n }),\n );\n const feed = yield* Database.add(Feed.make());\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const contextBinder = new AiContext.Binder({ feed, runtime });\n // TODO(dmaretskyi): Blueprint registry.\n const agentBlueprint = yield* Database.add(Obj.clone(blueprint, { deep: true }));\n yield* Effect.promise(() =>\n contextBinder.bind({\n blueprints: [Ref.make(agentBlueprint), ...(props.blueprints ?? [])],\n objects: [Ref.make(agent), ...(props.contextObjects ?? [])],\n }),\n );\n const chat = yield* Database.add(\n Chat.make({\n [Obj.Parent]: agent,\n feed: Ref.make(feed),\n }),\n );\n Obj.setParent(feed, chat);\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n\n const inputFeed = yield* Database.add(Feed.make());\n\n Obj.update(agent, (agent) => {\n agent.chat = Ref.make(chat);\n agent.feed = Ref.make(inputFeed);\n });\n\n return agent;\n });\n\n/**\n * Resets the agent chat history by rebuilding the chat context.\n * Preserves the existing blueprints and objects from the current chat context.\n *\n * @param agent - The agent whose chat history should be reset. Must have an existing chat.\n * @returns An Effect that resets the chat history.\n */\nexport const resetChatHistory = (\n agent: Agent,\n): Effect.Effect<void, EntityNotFoundError, Feed.FeedService | Database.Service> =>\n Effect.gen(function* () {\n invariant(agent.chat, 'Agent must have an existing chat to reset.');\n\n const existingFeed = yield* agent.chat.pipe(Database.load).pipe(\n Effect.map((_) => _.feed),\n Effect.flatMap(Database.load),\n );\n const runtime = yield* Effect.runtime<Feed.FeedService>();\n const existingContextBinder = yield* acquireReleaseResource(\n () =>\n new AiContext.Binder({\n feed: existingFeed,\n runtime,\n }),\n );\n const blueprints = existingContextBinder.getBlueprints().map((blueprint) => Ref.make(blueprint));\n const objects = existingContextBinder.getObjects().map((object) => Ref.make(object));\n\n const feed = yield* Database.add(Feed.make());\n const contextBinder = new AiContext.Binder({ feed, runtime });\n yield* Effect.promise(() =>\n contextBinder.bind({\n blueprints,\n objects,\n }),\n );\n\n const chat = yield* Database.add(\n Chat.make({\n feed: Ref.make(feed),\n }),\n );\n Obj.setParent(feed, chat);\n Obj.update(agent, (agent) => {\n agent.chat = Ref.make(chat);\n });\n\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n }).pipe(Effect.scoped);\n\nexport const getFromChatContext: Effect.Effect<Agent, Error, AiContext.Service> = Effect.gen(function* () {\n const agents = yield* Function.pipe(AiContext.Service.findObjects(Agent));\n if (agents.length !== 1) {\n return yield* Effect.fail(new Error(`There should be exactly one agent in context. Got: ${agents.length}`));\n }\n\n const agent = agents[0];\n return agent;\n});\n", "//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { McpServer as McpServerSpec } from '@dxos/compute';\nimport { DXN, Annotation, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo/internal';\n\n/**\n * MCP server configuration stored as a space-level ECHO object.\n *\n * Composes the canonical connection spec from `@dxos/compute` (`url`, `protocol`, `apiKey`)\n * and adds instance-level fields (`name`, `enabled`) plus ECHO annotations.\n *\n * NOTE: `apiKey` is stored in plaintext and replicated to all peers with access to the space.\n * A future iteration should move secrets to per-device credential storage or use envelope encryption.\n */\nexport const McpServer = Schema.Struct({\n ...McpServerSpec.McpServer.fields,\n enabled: Schema.optional(Schema.Boolean),\n}).pipe(\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({ icon: 'ph--plugs-connected--regular', hue: 'sky' }),\n Type.makeObject(DXN.make('org.dxos.type.assistant.mcpServer', '0.1.0')),\n);\n\nexport type McpServer = Type.InstanceType<typeof McpServer>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "DXN", "Annotation", "Obj", "Ref", "Type", "TaskId", "String", "pipe", "brand", "Task", "Struct", "id", "title", "annotations", "description", "status", "Literal", "parent", "optional", "chat", "Ref", "Chat", "Plan", "tasks", "Array", "Annotation", "HiddenAnnotation", "set", "Type", "makeObject", "DXN", "make", "generateTaskId", "plan", "existingIds", "map", "task", "num", "letter", "split", "parseInt", "filter", "_", "isNaN", "newId", "length", "Math", "max", "crypto", "randomUUID", "slice", "addTasks", "taskId", "push", "makePlan", "props", "Obj", "update", "formatPlan", "toLocaleUpperCase", "join", "Effect", "Function", "Schema", "AiContext", "DXN", "Annotation", "Database", "Feed", "Format", "Obj", "Ref", "Relation", "Type", "FormInputAnnotation", "acquireReleaseResource", "invariant", "Text", "Ref", "artifacts", "Array", "Schema", "String", "data", "Obj", "description", "Annotation", "IconAnnotation", "icon", "hue", "Type", "makeObject", "props", "instructions", "Text", "make", "plan", "Plan", "subscriptions", "filterEvents", "enabled", "add", "contextBinder", "AiContext", "Binder", "feed", "runtime", "Effect", "agentBlueprint", "objects", "chat", "setParent", "Source", "Relation", "Target", "agent", "inputFeed", "existingFeed", "Database", "pipe", "existingContextBinder", "acquireReleaseResource", "blueprints", "scoped", "agents", "Error", "Schema", "McpServer", "McpServerSpec", "DXN", "Annotation", "Type", "LabelAnnotation", "Struct", "fields", "enabled", "optional", "Boolean", "pipe", "set", "IconAnnotation", "icon", "hue", "makeObject", "make"]
|
|
7
|
+
}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Chat
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GQRUBCMT.mjs";
|
|
4
4
|
|
|
5
5
|
// src/functions/agent/definitions.ts
|
|
6
6
|
import * as Schema from "effect/Schema";
|
|
7
7
|
import { AiService, OpaqueToolkit, ModelName } from "@dxos/ai";
|
|
8
8
|
import { Routine, Trace, Operation, OperationRegistry } from "@dxos/compute";
|
|
9
9
|
import { Database, Feed, Ref } from "@dxos/echo";
|
|
10
|
+
import { DXN } from "@dxos/keys";
|
|
11
|
+
import { Text } from "@dxos/schema";
|
|
10
12
|
var AgentPrompt = Operation.make({
|
|
11
13
|
meta: {
|
|
12
|
-
key: "org.dxos.function.prompt",
|
|
13
|
-
name: "
|
|
14
|
-
description: "Agentic worker that executes a provided prompt using blueprints and tools."
|
|
14
|
+
key: DXN.make("org.dxos.function.prompt"),
|
|
15
|
+
name: "Run Routine",
|
|
16
|
+
description: "Agentic worker that executes a provided prompt using blueprints and tools.",
|
|
17
|
+
icon: "ph--brain--regular"
|
|
15
18
|
},
|
|
16
19
|
input: Schema.Struct({
|
|
17
20
|
prompt: Ref.Ref(Routine.Routine),
|
|
@@ -35,6 +38,14 @@ var AgentPrompt = Operation.make({
|
|
|
35
38
|
})
|
|
36
39
|
}),
|
|
37
40
|
output: Schema.Any,
|
|
41
|
+
// ECHO types that the handler loads via Database.load(). Declaring them here ensures the
|
|
42
|
+
// runtime registers their schema before remote invocation (e.g. via the EDGE function service).
|
|
43
|
+
types: [
|
|
44
|
+
Routine.Routine,
|
|
45
|
+
Text.Text,
|
|
46
|
+
Feed.Feed,
|
|
47
|
+
Chat
|
|
48
|
+
],
|
|
38
49
|
services: [
|
|
39
50
|
AiService.AiService,
|
|
40
51
|
Database.Service,
|
|
@@ -48,4 +59,4 @@ var AgentPrompt = Operation.make({
|
|
|
48
59
|
export {
|
|
49
60
|
AgentPrompt
|
|
50
61
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
62
|
+
//# sourceMappingURL=chunk-AYV2KMAV.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/functions/agent/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit, ModelName } from '@dxos/ai';\nimport { Routine, Trace, Operation, OperationRegistry } from '@dxos/compute';\nimport { Database, Feed, Ref } from '@dxos/echo';\nimport { DXN } from '@dxos/keys';\nimport { Text } from '@dxos/schema';\n\nimport * as Chat from '../../types/Chat';\n\n// TODO(dmaretskyi): Rename to RunRoutine.\nexport const AgentPrompt = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.prompt'),\n name: 'Run Routine',\n description: 'Agentic worker that executes a provided prompt using blueprints and tools.',\n icon: 'ph--brain--regular',\n },\n input: Schema.Struct({\n prompt: Ref.Ref(Routine.Routine),\n\n /**\n * When set, runs in this chat (history, queue, and bound context). Routine blueprints and context objects are merged into the conversation for this request.\n */\n chat: Schema.optional(Ref.Ref(Chat.Chat)),\n\n /**\n * @default @anthropic/claude-opus-4-6\n */\n model: Schema.optional(ModelName),\n\n /**\n * Input object or data.\n * References get auto-resolved.\n */\n input: Schema.Any.pipe(Schema.annotations({ title: 'Input' })),\n\n systemInstructions: Schema.optional(Schema.String).annotations({\n description: 'Additional system instructions to add to the system prompt.',\n }),\n }),\n output: Schema.Any,\n // ECHO types that the handler loads via Database.load(). Declaring them here ensures the\n // runtime registers their schema before remote invocation (e.g. via the EDGE function service).\n types: [Routine.Routine, Text.Text, Feed.Feed, Chat.Chat],\n services: [\n AiService.AiService,\n Database.Service,\n Feed.FeedService,\n OpaqueToolkit.OpaqueToolkitProvider,\n OperationRegistry.Service,\n Trace.TraceService,\n ],\n});\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,WAAWC,eAAeC,iBAAiB;AACpD,SAASC,SAASC,OAAOC,WAAWC,yBAAyB;AAC7D,SAASC,UAAUC,MAAMC,WAAW;AACpC,SAASC,WAAW;AACpB,SAASC,YAAY;AAKd,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAKC,IAAIH,KAAK,0BAAA;IACdI,MAAM;IACNC,aAAa;IACbC,MAAM;EACR;EACAC,OAAcC,cAAO;IACnBC,QAAQC,IAAIA,IAAIC,QAAQA,OAAO;;;;IAK/BC,MAAaC,gBAASH,IAAIA,IAASI,IAAI,CAAA;;;;IAKvCC,OAAcF,gBAASG,SAAAA;;;;;IAMvBT,OAAcU,WAAIC,KAAYC,mBAAY;MAAEC,OAAO;IAAQ,CAAA,CAAA;IAE3DC,oBAA2BR,gBAAgBS,aAAM,EAAEH,YAAY;MAC7Dd,aAAa;IACf,CAAA;EACF,CAAA;EACAkB,QAAeN;;;EAGfO,OAAO;IAACb,QAAQA;IAASc,KAAKA;IAAMC,KAAKA;IAAWZ;;EACpDa,UAAU;IACRC,UAAUA;IACVC,SAASC;IACTJ,KAAKK;IACLC,cAAcC;IACdC,kBAAkBJ;IAClBK,MAAMC;;AAEV,CAAA;",
|
|
6
|
+
"names": ["Schema", "AiService", "OpaqueToolkit", "ModelName", "Routine", "Trace", "Operation", "OperationRegistry", "Database", "Feed", "Ref", "DXN", "Text", "AgentPrompt", "Operation", "make", "meta", "key", "DXN", "name", "description", "icon", "input", "Struct", "prompt", "Ref", "Routine", "chat", "optional", "Chat", "model", "ModelName", "Any", "pipe", "annotations", "title", "systemInstructions", "String", "output", "types", "Text", "Feed", "services", "AiService", "Database", "Service", "FeedService", "OpaqueToolkit", "OpaqueToolkitProvider", "OperationRegistry", "Trace", "TraceService"]
|
|
7
|
+
}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
import * as Schema from "effect/Schema";
|
|
3
3
|
import { Credential, Operation } from "@dxos/compute";
|
|
4
4
|
import { Database } from "@dxos/echo";
|
|
5
|
+
import { DXN } from "@dxos/keys";
|
|
5
6
|
var SyncIssues = Operation.make({
|
|
6
7
|
meta: {
|
|
7
|
-
key: "org.dxos.function.linear.
|
|
8
|
+
key: DXN.make("org.dxos.function.linear.syncIssues"),
|
|
8
9
|
name: "Linear",
|
|
9
|
-
description: "Sync issues from Linear."
|
|
10
|
+
description: "Sync issues from Linear.",
|
|
11
|
+
icon: "ph--arrows-clockwise--regular"
|
|
10
12
|
},
|
|
11
13
|
input: Schema.Struct({
|
|
12
14
|
team: Schema.String.annotations({
|
|
@@ -22,9 +24,9 @@ var SyncIssues = Operation.make({
|
|
|
22
24
|
|
|
23
25
|
// src/sync/sync.ts
|
|
24
26
|
import * as Effect from "effect/Effect";
|
|
25
|
-
import { Filter, Obj, Query, Ref } from "@dxos/echo";
|
|
26
|
-
import { Database as Database2 } from "@dxos/echo";
|
|
27
|
+
import { Database as Database2, Filter, Obj, Query, Ref } from "@dxos/echo";
|
|
27
28
|
import { failedInvariant } from "@dxos/invariant";
|
|
29
|
+
import { EID } from "@dxos/keys";
|
|
28
30
|
import { log } from "@dxos/log";
|
|
29
31
|
var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/sync/sync.ts";
|
|
30
32
|
var syncObjects = Effect.fn("syncObjects")(function* (objs, { foreignKeyId }) {
|
|
@@ -40,7 +42,8 @@ var syncObjects = Effect.fn("syncObjects")(function* (objs, { foreignKeyId }) {
|
|
|
40
42
|
if (!ref.target) {
|
|
41
43
|
continue;
|
|
42
44
|
}
|
|
43
|
-
|
|
45
|
+
const targetUri = EID.tryParse(Obj.getURI(ref.target));
|
|
46
|
+
if (targetUri && EID.isLocal(targetUri)) {
|
|
44
47
|
const [target] = yield* syncObjects([
|
|
45
48
|
ref.target
|
|
46
49
|
], {
|
|
@@ -49,9 +52,9 @@ var syncObjects = Effect.fn("syncObjects")(function* (objs, { foreignKeyId }) {
|
|
|
49
52
|
obj[key] = Ref.make(target);
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
|
-
const
|
|
55
|
+
const type = Obj.getType(obj) ?? failedInvariant("No type.");
|
|
53
56
|
const foreignId = Obj.getKeys(obj, foreignKeyId)[0]?.id ?? failedInvariant("No foreign key.");
|
|
54
|
-
const [existing] = yield* Database2.runQuery(Query.select(Filter.foreignKeys(
|
|
57
|
+
const [existing] = yield* Database2.runQuery(Query.select(Filter.foreignKeys(type, [
|
|
55
58
|
{
|
|
56
59
|
source: foreignKeyId,
|
|
57
60
|
id: foreignId
|
|
@@ -60,8 +63,8 @@ var syncObjects = Effect.fn("syncObjects")(function* (objs, { foreignKeyId }) {
|
|
|
60
63
|
log("sync object", {
|
|
61
64
|
type: Obj.getTypename(obj),
|
|
62
65
|
foreignId,
|
|
63
|
-
existing: existing ? Obj.
|
|
64
|
-
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
66
|
+
existing: existing ? Obj.getURI(existing) : void 0
|
|
67
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 49, S: this });
|
|
65
68
|
if (!existing) {
|
|
66
69
|
yield* Database2.add(obj);
|
|
67
70
|
return obj;
|
|
@@ -105,4 +108,4 @@ export {
|
|
|
105
108
|
SyncIssues,
|
|
106
109
|
syncObjects
|
|
107
110
|
};
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
111
|
+
//# sourceMappingURL=chunk-BB6X6NT6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/linear/functions/definitions.ts", "../../../src/sync/sync.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Credential, Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\nimport { DXN } from '@dxos/keys';\n\nexport const SyncIssues = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.linear.syncIssues'),\n name: 'Linear',\n description: 'Sync issues from Linear.',\n icon: 'ph--arrows-clockwise--regular',\n },\n input: Schema.Struct({\n team: Schema.String.annotations({\n description: 'Linear team id.',\n }),\n }),\n output: Schema.Any,\n services: [Credential.CredentialsService, Database.Service],\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Database, Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { failedInvariant } from '@dxos/invariant';\nimport { EID } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\n/**\n * Syncs objects to the database.\n * If there's an object with a matching foreign key in the database, it will be updated.\n * Otherwise, a new object will be added.\n * Recursively syncs top-level refs.\n *\n * @param opts.foreignKeyId - The key to use for matching objects.\n */\nexport const syncObjects: (\n objs: Obj.Unknown[],\n opts: { foreignKeyId: string },\n) => Effect.Effect<Obj.Unknown[], never, Database.Service> = Effect.fn('syncObjects')(function* (\n objs,\n { foreignKeyId },\n) {\n return yield* Effect.forEach(\n objs,\n Effect.fnUntraced(function* (obj) {\n // Sync referenced objects.\n for (const key of Object.keys(obj)) {\n if (typeof key !== 'string' || key === 'id') {\n continue;\n }\n if (!Ref.isRef((obj as any)[key])) {\n continue;\n }\n const ref: Ref.Unknown = (obj as any)[key];\n if (!ref.target) {\n continue;\n }\n const targetUri = EID.tryParse(Obj.getURI(ref.target));\n if (targetUri && EID.isLocal(targetUri)) {\n // obj not persisted to db.\n const [target] = yield* syncObjects([ref.target], { foreignKeyId });\n (obj as any)[key] = Ref.make(target);\n }\n }\n\n const type = Obj.getType(obj) ?? failedInvariant('No type.');\n const foreignId = Obj.getKeys(obj, foreignKeyId)[0]?.id ?? failedInvariant('No foreign key.');\n const [existing] = yield* Database.runQuery(\n Query.select(Filter.foreignKeys(type, [{ source: foreignKeyId, id: foreignId }])),\n );\n log('sync object', {\n type: Obj.getTypename(obj),\n foreignId,\n existing: existing ? Obj.getURI(existing) : undefined,\n });\n if (!existing) {\n yield* Database.add(obj);\n return obj;\n } else {\n copyObjectData(existing, obj);\n return existing;\n }\n }),\n { concurrency: 1 },\n );\n});\n\nconst copyObjectData = (existing: Obj.Unknown, newObj: Obj.Unknown) => {\n Obj.update(existing, (existing) => {\n // Copy properties from newObj to existing.\n for (const key of Object.keys(newObj)) {\n if (typeof key !== 'string' || key === 'id') {\n continue;\n }\n if (\n typeof (newObj as any)[key] !== 'string' &&\n typeof (newObj as any)[key] !== 'number' &&\n typeof (newObj as any)[key] !== 'boolean' &&\n !Ref.isRef((newObj as any)[key])\n ) {\n continue;\n }\n (existing as any)[key] = (newObj as any)[key];\n }\n\n // Delete properties that don't exist in newObj.\n for (const key of Object.keys(existing)) {\n if (typeof key !== 'string' || key === 'id') {\n continue;\n }\n if (!(key in newObj)) {\n delete (existing as any)[key];\n }\n }\n\n // Update foreign keys.\n for (const foreignKey of Obj.getMeta(newObj).keys) {\n Obj.deleteKeys(existing, foreignKey.source);\n // TODO(dmaretskyi): Doesn't work: `Obj.getMeta(existing).keys.push(foreignKey);`\n Obj.getMeta(existing).keys.push({ ...foreignKey });\n }\n });\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,iBAAiB;AACtC,SAASC,gBAAgB;AACzB,SAASC,WAAW;AAEb,IAAMC,aAAaH,UAAUI,KAAK;EACvCC,MAAM;IACJC,KAAKJ,IAAIE,KAAK,qCAAA;IACdG,MAAM;IACNC,aAAa;IACbC,MAAM;EACR;EACAC,OAAcC,cAAO;IACnBC,MAAaC,cAAOC,YAAY;MAC9BN,aAAa;IACf,CAAA;EACF,CAAA;EACAO,QAAeC;EACfC,UAAU;IAAClB,WAAWmB;IAAoBjB,SAASkB;;AACrD,CAAA;;;ACpBA,YAAYC,YAAY;AAExB,SAASC,YAAAA,WAAUC,QAAQC,KAAKC,OAAOC,WAAW;AAClD,SAASC,uBAAuB;AAChC,SAASC,WAAW;AACpB,SAASC,WAAW;AAEpB,IAAA,eAAA;AAkBM,IAAA,cAA2B,UAAA,aAAA,EAAA,WAAA,MAAA,EAAA,aAAA,GAAA;SAC3B,OAAWC,eAAcC,MAAW,kBAAA,WAAA,KAAA;eAEhC,OAAA,OAAA,KAAA,GAAA,GAAA;AACF,UAAA,OAAA,QAAA,YAAA,QAAA,MAAA;AACI;;AAEJ,UAAA,CAAA,IAAA,MAAA,IAAA,GAAA,CAAA,GAAA;AACA;MACA;YACE,MAAA,IAAA,GAAA;AACF,UAAA,CAAA,IAAA,QAAA;AACA;MACA;YACE,YAAA,IAAA,SAA2B,IAAA,OAAA,IAAA,MAAA,CAAA;UAC3B,aAAOC,IAAU,QAAOC,SAAAA,GAAY;cAAc,CAAA,MAAA,IAAA,OAAA,YAAA;UAAEC,IAAAA;QAAa,GAAA;UACpDJ;QACf,CAAA;AACF,YAAA,GAAA,IAAA,IAAA,KAAA,MAAA;MAEA;IACA;AACA,UAAM,OAACK,IAAS,QAAG,GAAOb,KAAAA,gBACxBG,UAAaF;UAA0B,YAAA,IAAA,QAAA,KAAA,YAAA,EAAA,CAAA,GAAA,MAAA,gBAAA,iBAAA;mBAAEa,IAAQF,OAAAA,UAAAA,SAAAA,MAAAA,OAAAA,OAAAA,YAAAA,MAAAA;;QAA4B,QAAA;QAAE,IAAA;MAE7E;;QAEFG,eAAAA;MACAF,MAAAA,IAAUA,YAAWX,GAAIc;MAC3B;MACI,UAACH,WAAU,IAAA,OAAA,QAAA,IAAA;qBACNb,YAAaiB,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,KAAAA,CAAAA;QACpB,CAAA,UAAOA;AACT,aAAOjB,UAAA,IAAA,GAAA;AACLkB,aAAAA;WACA;AACF,qBAAA,UAAA,GAAA;AAEF,aAAA;IAAEC;EAAe,CAAA,GAAA;IAElB,aAAA;EAEH,CAAA;;qBAEI,CAAA,UAAA,WAAA;MACA,OAAK,UAAMX,CAAOY,cAAW;eAEzB,OAAA,OAAA,KAAA,MAAA,GAAA;AACF,UAAA,OAAA,QAAA,YAAA,QAAA,MAAA;AAEE;;AAMF,UAAA,OAAA,OAAA,GAAA,MAAA,YAAA,OAAA,OAAA,GAAA,MAAA,YAAA,OAAA,OAAA,GAAA,MAAA,aAAA,CAAA,IAAA,MAAA,OAAA,GAAA,CAAA,GAAA;AACCP;MACH;AAEA,MAAAA,UAAA,GAAA,IAAA,OAAA,GAAA;IACA;eAEI,OAAA,OAAA,KAAAA,SAAA,GAAA;AACF,UAAA,OAAA,QAAA,YAAA,QAAA,MAAA;AACI;;AAEJ,UAAA,EAAA,OAAA,SAAA;AACF,eAAAA,UAAA,GAAA;MAEA;IACA;eAEE,cAAA,IAAA,QAAA,MAAA,EAAA,MAAA;AACAX,UAAImB,WAAQR,WAAUJ,WAAU,MAAA;AAAgB,UAAA,QAAAI,SAAA,EAAA,KAAA,KAAA;QAClD,GAAA;MACF,CAAA;IACF;;;",
|
|
6
|
+
"names": ["Schema", "Credential", "Operation", "Database", "DXN", "SyncIssues", "make", "meta", "key", "name", "description", "icon", "input", "Struct", "team", "String", "annotations", "output", "Any", "services", "CredentialsService", "Service", "Effect", "Database", "Filter", "Obj", "Query", "Ref", "failedInvariant", "EID", "log", "key", "keys", "target", "syncObjects", "foreignKeyId", "existing", "source", "foreignId", "getURI", "obj", "copyObjectData", "concurrency", "Object", "getMeta"]
|
|
7
|
+
}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Agent_exports
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ALDU6VDG.mjs";
|
|
4
4
|
|
|
5
5
|
// src/blueprints/project-wizard/functions/definitions.ts
|
|
6
6
|
import * as Schema from "effect/Schema";
|
|
7
|
-
import {
|
|
8
|
-
import { Database, Feed, Obj, Ref } from "@dxos/echo";
|
|
9
|
-
import {
|
|
7
|
+
import { Operation } from "@dxos/compute";
|
|
8
|
+
import { Database, Feed, Obj, Ref, Registry, Type } from "@dxos/echo";
|
|
9
|
+
import { DXN } from "@dxos/keys";
|
|
10
10
|
var AgentRules = Operation.make({
|
|
11
11
|
meta: {
|
|
12
|
-
key: "org.dxos.function.
|
|
12
|
+
key: DXN.make("org.dxos.function.agentWizard.agentRules"),
|
|
13
13
|
name: "Agent rules",
|
|
14
|
-
description: "Gets the rules for creating an agent."
|
|
14
|
+
description: "Gets the rules for creating an agent.",
|
|
15
|
+
icon: "ph--book-open--regular"
|
|
15
16
|
},
|
|
16
17
|
input: Schema.Struct({}),
|
|
17
18
|
output: Schema.String
|
|
18
19
|
});
|
|
19
20
|
var CreateAgent = Operation.make({
|
|
20
21
|
meta: {
|
|
21
|
-
key: "org.dxos.function.
|
|
22
|
+
key: DXN.make("org.dxos.function.agentWizard.createAgent"),
|
|
22
23
|
name: "Create agent",
|
|
23
|
-
description: "Creates a new agent."
|
|
24
|
+
description: "Creates a new agent.",
|
|
25
|
+
icon: "ph--brain--regular"
|
|
24
26
|
},
|
|
25
27
|
input: Schema.Struct({
|
|
26
28
|
name: Schema.String.annotations({
|
|
@@ -42,19 +44,19 @@ var CreateAgent = Operation.make({
|
|
|
42
44
|
description: "The objects to subscribe to for the agent. Can be references to mailboxes."
|
|
43
45
|
})
|
|
44
46
|
}),
|
|
45
|
-
output: Agent_exports.Agent,
|
|
47
|
+
output: Type.getSchema(Agent_exports.Agent),
|
|
46
48
|
services: [
|
|
47
|
-
|
|
49
|
+
Registry.Service,
|
|
48
50
|
Database.Service,
|
|
49
|
-
QueueService,
|
|
50
51
|
Feed.FeedService
|
|
51
52
|
]
|
|
52
53
|
});
|
|
53
54
|
var SyncTriggers = Operation.make({
|
|
54
55
|
meta: {
|
|
55
|
-
key: "org.dxos.function.agent.
|
|
56
|
+
key: DXN.make("org.dxos.function.agent.syncTriggers"),
|
|
56
57
|
name: "Sync triggers",
|
|
57
|
-
description: "Synchronizes triggers with the agent: subscriptions, cron, filter-events, and enabled (copied to every trigger). Call after editing those fields."
|
|
58
|
+
description: "Synchronizes triggers with the agent: subscriptions, cron, filter-events, and enabled (copied to every trigger). Call after editing those fields.",
|
|
59
|
+
icon: "ph--arrows-clockwise--regular"
|
|
58
60
|
},
|
|
59
61
|
input: Schema.Struct({
|
|
60
62
|
agent: Ref.Ref(Agent_exports.Agent).annotations({
|
|
@@ -72,4 +74,4 @@ export {
|
|
|
72
74
|
CreateAgent,
|
|
73
75
|
SyncTriggers
|
|
74
76
|
};
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
77
|
+
//# sourceMappingURL=chunk-DBUT6FKM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/project-wizard/functions/definitions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Feed, Obj, Ref, Registry, Type } from '@dxos/echo';\nimport { DXN } from '@dxos/keys';\n\nimport { Agent } from '../../../types';\n\nexport const AgentRules = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.agentWizard.agentRules'),\n name: 'Agent rules',\n description: 'Gets the rules for creating an agent.',\n icon: 'ph--book-open--regular',\n },\n input: Schema.Struct({}),\n output: Schema.String,\n});\n\nexport const CreateAgent = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.agentWizard.createAgent'),\n name: 'Create agent',\n description: 'Creates a new agent.',\n icon: 'ph--brain--regular',\n },\n input: Schema.Struct({\n name: Schema.String.annotations({\n description: 'The name of the agent to create.',\n }),\n instructions: Schema.String.annotations({\n description:\n 'The goal of the agent. Be specific but not too verbose. The agent will use this as a core objective and set of rules to follow.',\n }),\n blueprints: Schema.Array(Schema.String).annotations({\n description: 'The blueprint keys to use for the agent.',\n examples: [['org.dxos.blueprint.markdown', 'org.dxos.blueprint.database']],\n }),\n subscriptions: Schema.Array(Ref.Ref(Obj.Unknown)).annotations({\n description: 'The objects to subscribe to for the agent. Can be references to mailboxes.',\n }),\n }),\n output: Type.getSchema(Agent.Agent),\n services: [Registry.Service, Database.Service, Feed.FeedService],\n});\n\nexport const SyncTriggers = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.agent.syncTriggers'),\n name: 'Sync triggers',\n description:\n 'Synchronizes triggers with the agent: subscriptions, cron, filter-events, and enabled (copied to every trigger). Call after editing those fields.',\n icon: 'ph--arrows-clockwise--regular',\n },\n input: Schema.Struct({\n agent: Ref.Ref(Agent.Agent).annotations({\n description: 'The agent whose triggers should be synced.',\n }),\n }),\n output: Schema.Void,\n services: [Database.Service],\n});\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,MAAMC,KAAKC,KAAKC,UAAUC,YAAY;AACzD,SAASC,WAAW;AAIb,IAAMC,aAAaC,UAAUC,KAAK;EACvCC,MAAM;IACJC,KAAKC,IAAIH,KAAK,0CAAA;IACdI,MAAM;IACNC,aAAa;IACbC,MAAM;EACR;EACAC,OAAcC,cAAO,CAAC,CAAA;EACtBC,QAAeC;AACjB,CAAA;AAEO,IAAMC,cAAcZ,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAKC,IAAIH,KAAK,2CAAA;IACdI,MAAM;IACNC,aAAa;IACbC,MAAM;EACR;EACAC,OAAcC,cAAO;IACnBJ,MAAaM,cAAOE,YAAY;MAC9BP,aAAa;IACf,CAAA;IACAQ,cAAqBH,cAAOE,YAAY;MACtCP,aACE;IACJ,CAAA;IACAS,YAAmBC,aAAaL,aAAM,EAAEE,YAAY;MAClDP,aAAa;MACbW,UAAU;QAAC;UAAC;UAA+B;;;IAC7C,CAAA;IACAC,eAAsBF,aAAMG,IAAIA,IAAIC,IAAIC,OAAO,CAAA,EAAGR,YAAY;MAC5DP,aAAa;IACf,CAAA;EACF,CAAA;EACAI,QAAQY,KAAKC,UAAUC,cAAMA,KAAK;EAClCC,UAAU;IAACC,SAASC;IAASC,SAASD;IAASE,KAAKC;;AACtD,CAAA;AAEO,IAAMC,eAAe/B,UAAUC,KAAK;EACzCC,MAAM;IACJC,KAAKC,IAAIH,KAAK,sCAAA;IACdI,MAAM;IACNC,aACE;IACFC,MAAM;EACR;EACAC,OAAcC,cAAO;IACnBuB,OAAOb,IAAIA,IAAIK,cAAMA,KAAK,EAAEX,YAAY;MACtCP,aAAa;IACf,CAAA;EACF,CAAA;EACAI,QAAeuB;EACfR,UAAU;IAACG,SAASD;;AACtB,CAAA;",
|
|
6
|
+
"names": ["Schema", "Operation", "Database", "Feed", "Obj", "Ref", "Registry", "Type", "DXN", "AgentRules", "Operation", "make", "meta", "key", "DXN", "name", "description", "icon", "input", "Struct", "output", "String", "CreateAgent", "annotations", "instructions", "blueprints", "Array", "examples", "subscriptions", "Ref", "Obj", "Unknown", "Type", "getSchema", "Agent", "services", "Registry", "Service", "Database", "Feed", "FeedService", "SyncTriggers", "agent", "Void"]
|
|
7
|
+
}
|
|
@@ -11,35 +11,30 @@ __export(Chat_exports, {
|
|
|
11
11
|
make: () => make
|
|
12
12
|
});
|
|
13
13
|
import * as Schema from "effect/Schema";
|
|
14
|
-
import { Annotation, Feed, Obj, Ref, Type } from "@dxos/echo";
|
|
14
|
+
import { DXN, Annotation, Feed, Obj, Ref, Type } from "@dxos/echo";
|
|
15
15
|
import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
16
16
|
var Chat = Schema.Struct({
|
|
17
17
|
name: Schema.String.pipe(Schema.optional),
|
|
18
18
|
feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),
|
|
19
19
|
view: Schema.String.pipe(Schema.optional)
|
|
20
|
-
}).pipe(
|
|
21
|
-
typename: "org.dxos.type.assistant.chat",
|
|
22
|
-
version: "0.1.0"
|
|
23
|
-
}), LabelAnnotation.set([
|
|
20
|
+
}).pipe(LabelAnnotation.set([
|
|
24
21
|
"name"
|
|
25
22
|
]), Annotation.IconAnnotation.set({
|
|
26
23
|
icon: "ph--sparkle--regular",
|
|
27
24
|
hue: "sky"
|
|
28
|
-
}));
|
|
25
|
+
}), Type.makeObject(DXN.make("org.dxos.type.assistant.chat", "0.1.0")));
|
|
29
26
|
var make = (props) => Obj.make(Chat, props);
|
|
30
27
|
var LegacyCompanionTo = Schema.Struct({
|
|
31
28
|
id: Obj.ID
|
|
32
|
-
}).pipe(Type.
|
|
33
|
-
|
|
34
|
-
version: "0.1.0",
|
|
29
|
+
}).pipe(Type.makeRelation({
|
|
30
|
+
dxn: DXN.make("org.dxos.relation.assistant.companionTo", "0.1.0"),
|
|
35
31
|
source: Chat,
|
|
36
32
|
target: Obj.Unknown
|
|
37
33
|
}));
|
|
38
34
|
var CompanionTo = Schema.Struct({
|
|
39
35
|
id: Obj.ID
|
|
40
|
-
}).pipe(Type.
|
|
41
|
-
|
|
42
|
-
version: "0.1.0",
|
|
36
|
+
}).pipe(Type.makeRelation({
|
|
37
|
+
dxn: DXN.make("org.dxos.relation.assistant.companionTo", "0.1.0"),
|
|
43
38
|
source: Chat,
|
|
44
39
|
target: Obj.Unknown
|
|
45
40
|
}));
|
|
@@ -50,4 +45,4 @@ export {
|
|
|
50
45
|
CompanionTo,
|
|
51
46
|
Chat_exports
|
|
52
47
|
};
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
48
|
+
//# sourceMappingURL=chunk-GQRUBCMT.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Chat.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { DXN, Annotation, Feed, Obj, Ref, Type } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\n\n/**\n * AI chat.\n */\nexport const Chat = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),\n view: Schema.String.pipe(Schema.optional),\n}).pipe(\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({ icon: 'ph--sparkle--regular', hue: 'sky' }),\n Type.makeObject(DXN.make('org.dxos.type.assistant.chat', '0.1.0')),\n);\n\nexport type Chat = Type.InstanceType<typeof Chat>;\nexport const make = (props: Obj.MakeProps<typeof Chat>) => Obj.make(Chat, props);\n\n/** @deprecated Use CompanionTo instead. */\nexport const LegacyCompanionTo = Schema.Struct({\n id: Obj.ID,\n}).pipe(\n Type.makeRelation({\n dxn: DXN.make('org.dxos.relation.assistant.companionTo', '0.1.0'),\n source: Chat,\n target: Obj.Unknown,\n }),\n);\n\nexport type LegacyCompanionTo = Type.InstanceType<typeof LegacyCompanionTo>;\n/**\n * Relation between a Chat and companion objects (e.g., artifacts).\n */\nexport const CompanionTo = Schema.Struct({\n id: Obj.ID,\n}).pipe(\n Type.makeRelation({\n dxn: DXN.make('org.dxos.relation.assistant.companionTo', '0.1.0'),\n source: Chat,\n target: Obj.Unknown,\n }),\n);\n\nexport type CompanionTo = Type.InstanceType<typeof CompanionTo>;\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;;;;AAMA,YAAYA,YAAY;AAExB,SAASC,KAAKC,YAAYC,MAAMC,KAAKC,KAAKC,YAAY;AACtD,SAASC,qBAAqBC,uBAAuB;AAK9C,IAAMC,OAAcC,cAAO;EAChCC,MAAaC,cAAOC,KAAYC,eAAQ;EACxCC,MAAMV,IAAIA,IAAIF,KAAKA,IAAI,EAAEU,KAAKN,oBAAoBS,IAAI,KAAA,CAAA;EACtDC,MAAaL,cAAOC,KAAYC,eAAQ;AAC1C,CAAA,EAAGD,KACDL,gBAAgBQ,IAAI;EAAC;CAAO,GAC5Bd,WAAWgB,eAAeF,IAAI;EAAEG,MAAM;EAAwBC,KAAK;AAAM,CAAA,GACzEd,KAAKe,WAAWpB,IAAIqB,KAAK,gCAAgC,OAAA,CAAA,CAAA;AAIpD,IAAMA,OAAO,CAACC,UAAsCnB,IAAIkB,KAAKb,MAAMc,KAAAA;AAGnE,IAAMC,oBAA2Bd,cAAO;EAC7Ce,IAAIrB,IAAIsB;AACV,CAAA,EAAGb,KACDP,KAAKqB,aAAa;EAChBC,KAAK3B,IAAIqB,KAAK,2CAA2C,OAAA;EACzDO,QAAQpB;EACRqB,QAAQ1B,IAAI2B;AACd,CAAA,CAAA;AAOK,IAAMC,cAAqBtB,cAAO;EACvCe,IAAIrB,IAAIsB;AACV,CAAA,EAAGb,KACDP,KAAKqB,aAAa;EAChBC,KAAK3B,IAAIqB,KAAK,2CAA2C,OAAA;EACzDO,QAAQpB;EACRqB,QAAQ1B,IAAI2B;AACd,CAAA,CAAA;",
|
|
6
|
+
"names": ["Schema", "DXN", "Annotation", "Feed", "Obj", "Ref", "Type", "FormInputAnnotation", "LabelAnnotation", "Chat", "Struct", "name", "String", "pipe", "optional", "feed", "set", "view", "IconAnnotation", "icon", "hue", "makeObject", "make", "props", "LegacyCompanionTo", "id", "ID", "makeRelation", "dxn", "source", "target", "Unknown", "CompanionTo"]
|
|
7
|
+
}
|