agor-live 0.17.2 → 0.17.3
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/cli/lib/banner.d.ts +1 -1
- package/dist/cli/lib/banner.js +1 -1
- package/dist/cli/lib/check-migrations.test.js +9627 -9112
- package/dist/cli/lib/daemon-manager.test.js +9632 -9117
- package/dist/cli/lib/help.js +1 -1
- package/dist/core/api/index.d.cts +3 -3
- package/dist/core/api/index.d.ts +3 -3
- package/dist/core/{board-comment-DIdOJrSF.d.cts → board-comment-CCFVVN7K.d.cts} +0 -2
- package/dist/core/{board-comment-3N-jSgsk.d.ts → board-comment-iT3DgZb4.d.ts} +0 -2
- package/dist/core/claude/index.cjs +29 -19
- package/dist/core/claude/index.d.cts +2 -2
- package/dist/core/claude/index.d.ts +2 -2
- package/dist/core/claude/index.js +32 -33
- package/dist/core/client/index.cjs +49 -0
- package/dist/core/client/index.d.cts +7 -7
- package/dist/core/client/index.d.ts +7 -7
- package/dist/core/client/index.js +46 -0
- package/dist/core/{client-B5PyIvNc.d.cts → client-CemqXk0v.d.cts} +116 -100
- package/dist/core/{client-C1CsRi19.d.ts → client-uYEOha6g.d.ts} +116 -100
- package/dist/core/config/browser.d.cts +3 -3
- package/dist/core/config/browser.d.ts +3 -3
- package/dist/core/config/index.cjs +84 -41
- package/dist/core/config/index.d.cts +59 -17
- package/dist/core/config/index.d.ts +59 -17
- package/dist/core/config/index.js +86 -55
- package/dist/core/{config-manager-TxxjFMRd.d.cts → config-manager-B8TP9Kz0.d.cts} +12 -3
- package/dist/core/{config-manager-DTrsj6G3.d.ts → config-manager-CDEB0FY4.d.ts} +12 -3
- package/dist/core/{config-services-YEZ4DwCD.d.cts → config-services-CXyQKEK5.d.cts} +1 -1
- package/dist/core/{config-services-DcO2GRgh.d.ts → config-services-DhM7_yWn.d.ts} +1 -1
- package/dist/core/db/index.cjs +235 -175
- package/dist/core/db/index.d.cts +190 -147
- package/dist/core/db/index.d.ts +190 -147
- package/dist/core/db/index.js +239 -190
- package/dist/core/db/session-guard.d.cts +4 -4
- package/dist/core/db/session-guard.d.ts +4 -4
- package/dist/core/drizzle/postgres/0028_queued_tasks.sql +8 -0
- package/dist/core/drizzle/postgres/0030_migrate_queued_messages.sql +24 -0
- package/dist/core/drizzle/postgres/0031_restructure_agentic_tool_config.sql +201 -0
- package/dist/core/drizzle/postgres/meta/_journal.json +21 -0
- package/dist/core/drizzle/sqlite/0039_queued_tasks.sql +13 -0
- package/dist/core/drizzle/sqlite/0040_migrate_queued_messages.sql +61 -0
- package/dist/core/drizzle/sqlite/0041_restructure_agentic_tool_config.sql +204 -0
- package/dist/core/drizzle/sqlite/meta/_journal.json +21 -0
- package/dist/core/gateway/index.d.cts +2 -2
- package/dist/core/gateway/index.d.ts +2 -2
- package/dist/core/{gateway-BnOlAelY.d.cts → gateway-BWq4j_Ll.d.cts} +1 -1
- package/dist/core/{gateway-B_4X-v07.d.ts → gateway-C3Jm_akw.d.ts} +1 -1
- package/dist/core/git/index.d.cts +4 -4
- package/dist/core/git/index.d.ts +4 -4
- package/dist/core/index.cjs +474 -201
- package/dist/core/index.d.cts +12 -10
- package/dist/core/index.d.ts +12 -10
- package/dist/core/index.js +473 -216
- package/dist/core/lib/feathers-validation.cjs +2 -1
- package/dist/core/lib/feathers-validation.d.cts +1 -1
- package/dist/core/lib/feathers-validation.d.ts +1 -1
- package/dist/core/lib/feathers-validation.js +2 -1
- package/dist/core/mcp/index.cjs +26 -16
- package/dist/core/mcp/index.js +26 -16
- package/dist/core/{message-DinITA7a.d.cts → message-CSWOsdcZ.d.cts} +1 -9
- package/dist/core/{message-CHUUP6OS.d.ts → message-DZa8g0s0.d.ts} +1 -9
- package/dist/core/models/index.d.cts +3 -73
- package/dist/core/models/index.d.ts +3 -73
- package/dist/core/package.json +5 -0
- package/dist/core/permissions/index.d.cts +1 -1
- package/dist/core/permissions/index.d.ts +1 -1
- package/dist/core/resolve-config-BcL-Hv8k.d.ts +74 -0
- package/dist/core/resolve-config-DTCxuSBx.d.cts +74 -0
- package/dist/core/seed/index.cjs +145 -98
- package/dist/core/seed/index.js +148 -112
- package/dist/core/{session-guard-C0LkDEN7.d.ts → session-guard-BFqVtBoS.d.ts} +1 -1
- package/dist/core/{session-guard-kvAx_8Fb.d.cts → session-guard-KHh0cnET.d.cts} +1 -1
- package/dist/core/sessions/index.cjs +184 -0
- package/dist/core/sessions/index.d.cts +79 -0
- package/dist/core/sessions/index.d.ts +79 -0
- package/dist/core/sessions/index.js +157 -0
- package/dist/core/{task-BLPFCORT.d.ts → task-BHV-YHg1.d.ts} +41 -3
- package/dist/core/{task-wht1RJEL.d.cts → task-C2Hy7H6u.d.cts} +41 -3
- package/dist/core/templates/session-context.d.cts +1 -1
- package/dist/core/templates/session-context.d.ts +1 -1
- package/dist/core/tools/mcp/oauth-mcp-transport.cjs +168 -66
- package/dist/core/tools/mcp/oauth-mcp-transport.d.cts +92 -16
- package/dist/core/tools/mcp/oauth-mcp-transport.d.ts +92 -16
- package/dist/core/tools/mcp/oauth-mcp-transport.js +165 -66
- package/dist/core/tools/mcp/oauth-refresh.cjs +43 -53
- package/dist/core/tools/mcp/oauth-refresh.d.cts +3 -3
- package/dist/core/tools/mcp/oauth-refresh.d.ts +3 -3
- package/dist/core/tools/mcp/oauth-refresh.js +58 -78
- package/dist/core/types/index.cjs +49 -0
- package/dist/core/types/index.d.cts +7 -7
- package/dist/core/types/index.d.ts +7 -7
- package/dist/core/types/index.js +46 -0
- package/dist/core/{types-DNqfdt1z.d.cts → types-D4Rl6ZKN.d.cts} +18 -2
- package/dist/core/{types-DqPMmTad.d.ts → types-n61iaXub.d.ts} +18 -2
- package/dist/core/unix/index.cjs +164 -110
- package/dist/core/unix/index.d.cts +7 -8
- package/dist/core/unix/index.d.ts +7 -8
- package/dist/core/unix/index.js +167 -124
- package/dist/core/{user-DkNdeFoz.d.cts → user-CpfkcV2C.d.cts} +139 -13
- package/dist/core/{user-BfVWBmXA.d.ts → user-DP-XZMIM.d.ts} +139 -13
- package/dist/core/utils/permission-mode-mapper.d.cts +0 -2
- package/dist/core/utils/permission-mode-mapper.d.ts +0 -2
- package/dist/daemon/index.js +2976 -2791
- package/dist/daemon/main.js +2976 -2791
- package/dist/daemon/mcp/server.js +177 -134
- package/dist/daemon/mcp/tools/analytics.js +19 -5
- package/dist/daemon/mcp/tools/artifacts.js +19 -5
- package/dist/daemon/mcp/tools/boards.js +19 -5
- package/dist/daemon/mcp/tools/card-types.js +19 -5
- package/dist/daemon/mcp/tools/cards.js +19 -5
- package/dist/daemon/mcp/tools/environment.js +19 -5
- package/dist/daemon/mcp/tools/mcp-servers.d.ts +29 -2
- package/dist/daemon/mcp/tools/mcp-servers.js +64 -54
- package/dist/daemon/mcp/tools/messages.js +19 -5
- package/dist/daemon/mcp/tools/repos.js +19 -5
- package/dist/daemon/mcp/tools/search.js +19 -5
- package/dist/daemon/mcp/tools/sessions.js +175 -53
- package/dist/daemon/mcp/tools/tasks.js +19 -5
- package/dist/daemon/mcp/tools/users.js +19 -5
- package/dist/daemon/mcp/tools/worktrees.js +37 -38
- package/dist/daemon/register-hooks.js +52 -1
- package/dist/daemon/register-routes.js +436 -424
- package/dist/daemon/register-services.js +255 -140
- package/dist/daemon/services/config.d.ts +7 -1
- package/dist/daemon/services/config.js +3 -2
- package/dist/daemon/services/gateway.js +28 -15
- package/dist/daemon/services/mcp-servers.d.ts +7 -2
- package/dist/daemon/services/repos.js +2 -0
- package/dist/daemon/services/sessions.d.ts +1 -1
- package/dist/daemon/services/sessions.js +8 -16
- package/dist/daemon/services/tasks.js +16 -10
- package/dist/daemon/services/terminals.js +2 -0
- package/dist/daemon/services/users.d.ts +27 -11
- package/dist/daemon/services/users.js +89 -43
- package/dist/daemon/services/worktree-owners.js +2 -0
- package/dist/daemon/services/worktrees.js +2 -0
- package/dist/daemon/setup/index.js +5 -2
- package/dist/daemon/setup/socketio.d.ts +10 -1
- package/dist/daemon/setup/socketio.js +7 -3
- package/dist/daemon/startup.js +13 -1
- package/dist/daemon/utils/apply-session-config-defaults.d.ts +54 -0
- package/dist/daemon/utils/apply-session-config-defaults.js +46 -0
- package/dist/daemon/utils/spawn-executor.js +2 -0
- package/dist/daemon/utils/worktree-authorization.d.ts +2 -4
- package/dist/executor/commands/zellij.d.ts.map +1 -1
- package/dist/executor/commands/zellij.js +2 -2
- package/dist/executor/handlers/sdk/base-executor.d.ts +4 -3
- package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/base-executor.js +11 -5
- package/dist/executor/payload-types.d.ts +14 -14
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.js +9 -4
- package/dist/executor/sdk-handlers/claude/import/task-extractor.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/import/task-extractor.js +0 -5
- package/dist/executor/sdk-handlers/claude/message-builder.d.ts +23 -2
- package/dist/executor/sdk-handlers/claude/message-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/message-builder.js +33 -2
- package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts +9 -1
- package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.js +12 -0
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/query-builder.js +11 -6
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +0 -5
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +9 -24
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +15 -2
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/prompt-service.js +39 -10
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +0 -5
- package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/copilot/copilot-tool.js +5 -22
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +0 -5
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.js +9 -24
- package/dist/ui/assets/{CodeEditor.inner-CO-5PAnZ.js → CodeEditor.inner-CVLqZBtM.js} +1 -1
- package/dist/ui/assets/{CodeEditor.inner-CO-5PAnZ.js.gz → CodeEditor.inner-CVLqZBtM.js.gz} +0 -0
- package/dist/ui/assets/{_basePickBy-DfxojsEt.js → _basePickBy-CFq5ES2J.js} +1 -1
- package/dist/ui/assets/_basePickBy-CFq5ES2J.js.gz +0 -0
- package/dist/ui/assets/{_baseUniq-DWFPJOTC.js → _baseUniq-C4uKBvNt.js} +1 -1
- package/dist/ui/assets/_baseUniq-C4uKBvNt.js.gz +0 -0
- package/dist/ui/assets/{arc-vMZ_XGSI.js → arc-BnrcXDJJ.js} +1 -1
- package/dist/ui/assets/arc-BnrcXDJJ.js.gz +0 -0
- package/dist/ui/assets/{architectureDiagram-VXUJARFQ-DGpk_uOD.js → architectureDiagram-VXUJARFQ-DD9HD-WR.js} +1 -1
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DD9HD-WR.js.gz +0 -0
- package/dist/ui/assets/{base-80a1f760-BsVlOKqO.js → base-80a1f760-BK1VmxWU.js} +1 -1
- package/dist/ui/assets/{blockDiagram-VD42YOAC-BkRnxc94.js → blockDiagram-VD42YOAC-LBAckZZe.js} +1 -1
- package/dist/ui/assets/blockDiagram-VD42YOAC-LBAckZZe.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dcf-anJy.js → c4Diagram-YG6GDRKO-yEdylcYP.js} +1 -1
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dcf-anJy.js.gz → c4Diagram-YG6GDRKO-yEdylcYP.js.gz} +0 -0
- package/dist/ui/assets/channel-CMN-iY3Q.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-C4oVWDo8.js → chunk-4BX2VUAB-IHtzKbmQ.js} +1 -1
- package/dist/ui/assets/{chunk-55IACEB6-CsBbTu57.js → chunk-55IACEB6-C4o5tv_F.js} +1 -1
- package/dist/ui/assets/{chunk-B4BG7PRW-DtkeCZab.js → chunk-B4BG7PRW-EPkzLvlB.js} +1 -1
- package/dist/ui/assets/chunk-B4BG7PRW-EPkzLvlB.js.gz +0 -0
- package/dist/ui/assets/{chunk-DI55MBZ5-BQ_asW-1.js → chunk-DI55MBZ5-CW-Bzkzj.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-CW-Bzkzj.js.gz +0 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-DAdcLNG-.js → chunk-FMBD7UC4-DvGU02Io.js} +1 -1
- package/dist/ui/assets/{chunk-QN33PNHL-Do2zad3m.js → chunk-QN33PNHL-C-PIlz9n.js} +1 -1
- package/dist/ui/assets/{chunk-QZHKN3VN-CyhMmSdC.js → chunk-QZHKN3VN-BhpJFm6h.js} +1 -1
- package/dist/ui/assets/{chunk-TZMSLE5B-DlPypnIq.js → chunk-TZMSLE5B-Biake8IU.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-Biake8IU.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-Bz1et8oA.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-Bz1et8oA.js +1 -0
- package/dist/ui/assets/clone-Dxo5sEAf.js +1 -0
- package/dist/ui/assets/{consoleHook-59e792cb-DHYIclEd.js → consoleHook-59e792cb-BzEkHWE8.js} +1 -1
- package/dist/ui/assets/consoleHook-59e792cb-BzEkHWE8.js.gz +0 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-DotJH9qH.js → cose-bilkent-S5V4N54A-vAiVi74s.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-vAiVi74s.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-Btssr8QF.js → dagre-6UL2VRFP-C8w7TshD.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-C8w7TshD.js.gz +0 -0
- package/dist/ui/assets/{diagram-PSM6KHXK-D5_Jkog3.js → diagram-PSM6KHXK-CvnjEmtQ.js} +1 -1
- package/dist/ui/assets/diagram-PSM6KHXK-CvnjEmtQ.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-DlPEVSL5.js → diagram-QEK2KX5R-D245unng.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-D245unng.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-CjO1k8aG.js → diagram-S2PKOQOG-DgGUHL8Z.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-DgGUHL8Z.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-3cO02-K3.js → erDiagram-Q2GNP2WA-Cf5paK9b.js} +1 -1
- package/dist/ui/assets/erDiagram-Q2GNP2WA-Cf5paK9b.js.gz +0 -0
- package/dist/ui/assets/{flowDiagram-NV44I4VS-CajTpSxI.js → flowDiagram-NV44I4VS-BJpHmEXV.js} +1 -1
- package/dist/ui/assets/flowDiagram-NV44I4VS-BJpHmEXV.js.gz +0 -0
- package/dist/ui/assets/{ganttDiagram-LVOFAZNH-CnY_bV3o.js → ganttDiagram-LVOFAZNH-zOyTZcXC.js} +1 -1
- package/dist/ui/assets/{ganttDiagram-LVOFAZNH-CnY_bV3o.js.gz → ganttDiagram-LVOFAZNH-zOyTZcXC.js.gz} +0 -0
- package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-CH16bg-j.js → gitGraphDiagram-NY62KEGX-B0uxwqMv.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-B0uxwqMv.js.gz +0 -0
- package/dist/ui/assets/{graph-IQoZvE3o.js → graph-NWXc73TO.js} +1 -1
- package/dist/ui/assets/graph-NWXc73TO.js.gz +0 -0
- package/dist/ui/assets/{index-599aeaf7-RUCkgwsg.js → index-599aeaf7-BKmNqoNF.js} +1 -1
- package/dist/ui/assets/index-599aeaf7-BKmNqoNF.js.gz +0 -0
- package/dist/ui/assets/{index-B3AvIgqP.js → index-BRYNiHLB.js} +345 -349
- package/dist/ui/assets/index-BRYNiHLB.js.gz +0 -0
- package/dist/ui/assets/{index-QV5-5yA2.js → index-BX6Xmhes.js} +1 -1
- package/dist/ui/assets/index-BX6Xmhes.js.gz +0 -0
- package/dist/ui/assets/{index-ChmRuj_T.js → index-W1hIq1uU.js} +1 -1
- package/dist/ui/assets/index-W1hIq1uU.js.gz +0 -0
- package/dist/ui/assets/{index-C-quzPWC.js → index-ctuok0zf.js} +1 -1
- package/dist/ui/assets/index-ctuok0zf.js.gz +0 -0
- package/dist/ui/assets/{infoDiagram-ER5ION4S-2e4gZVGT.js → infoDiagram-ER5ION4S-CquCuoTH.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-B5bgV3GH.js → journeyDiagram-XKPGCS4Q-B_XkufZ8.js} +1 -1
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B_XkufZ8.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-Bp-aWRSc.js → kanban-definition-3W4ZIXB7-C2Bo9HkB.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-C2Bo9HkB.js.gz +0 -0
- package/dist/ui/assets/katex-C6wkUDai.css +1 -0
- package/dist/ui/assets/{katex-DGRguze2.css.gz → katex-C6wkUDai.css.gz} +0 -0
- package/dist/ui/assets/{layout-BH-2XJZq.js → layout-D9A7Uaku.js} +1 -1
- package/dist/ui/assets/layout-D9A7Uaku.js.gz +0 -0
- package/dist/ui/assets/{linear-DCYXhl_f.js → linear-BJUwJsxE.js} +1 -1
- package/dist/ui/assets/linear-BJUwJsxE.js.gz +0 -0
- package/dist/ui/assets/{mermaid.core-BAuL6kgQ.js → mermaid.core-DcOEcjcA.js} +5 -5
- package/dist/ui/assets/mermaid.core-DcOEcjcA.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-DpH5N-N0.js → mindmap-definition-VGOIOE7T-BFT1m7BG.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-BFT1m7BG.js.gz +0 -0
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-BB8fBxj1.js → pieDiagram-ADFJNKIX-BFaX1oBV.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BFaX1oBV.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-D6oZLdUD.js → quadrantDiagram-AYHSOK5B-DQps5392.js} +1 -1
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DQps5392.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-B4uGPp8w.js → requirementDiagram-UZGBJVZJ-3EZ5KWEi.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-3EZ5KWEi.js.gz +0 -0
- package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-MXhIjhme.js → sankeyDiagram-TZEHDZUN-D0qcydqq.js} +1 -1
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-D0qcydqq.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-Cm53TYug.js → sequenceDiagram-WL72ISMW-BCR5gaaN.js} +1 -1
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-BCR5gaaN.js.gz +0 -0
- package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BVuxUkj5.js → stateDiagram-FKZM4ZOC-BvX4FLQ9.js} +1 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BvX4FLQ9.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CxLDvgTF.js +1 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-CMypNiEP.js → timeline-definition-IT6M3QCI-_AWp5LJn.js} +1 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-_AWp5LJn.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-BEtnV3BT.js → treemap-KMMF4GRG-BZ9FBl5-.js} +1 -1
- package/dist/ui/assets/treemap-KMMF4GRG-BZ9FBl5-.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-BnioEYUM.js → xychartDiagram-PRI3JC2R-_wB7yuVd.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-_wB7yuVd.js.gz +0 -0
- package/dist/ui/index.html +1 -1
- package/package.json +8 -8
- package/dist/ui/assets/_basePickBy-DfxojsEt.js.gz +0 -0
- package/dist/ui/assets/_baseUniq-DWFPJOTC.js.gz +0 -0
- package/dist/ui/assets/arc-vMZ_XGSI.js.gz +0 -0
- package/dist/ui/assets/architectureDiagram-VXUJARFQ-DGpk_uOD.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-BkRnxc94.js.gz +0 -0
- package/dist/ui/assets/channel-B9aI4bYN.js +0 -1
- package/dist/ui/assets/chunk-B4BG7PRW-DtkeCZab.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-BQ_asW-1.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-DlPypnIq.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-p-68WO4Z.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-p-68WO4Z.js +0 -1
- package/dist/ui/assets/clone-DzK5ogfn.js +0 -1
- package/dist/ui/assets/consoleHook-59e792cb-DHYIclEd.js.gz +0 -0
- package/dist/ui/assets/cose-bilkent-S5V4N54A-DotJH9qH.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-Btssr8QF.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-D5_Jkog3.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-DlPEVSL5.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-CjO1k8aG.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-3cO02-K3.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-CajTpSxI.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CH16bg-j.js.gz +0 -0
- package/dist/ui/assets/graph-IQoZvE3o.js.gz +0 -0
- package/dist/ui/assets/index-599aeaf7-RUCkgwsg.js.gz +0 -0
- package/dist/ui/assets/index-B3AvIgqP.js.gz +0 -0
- package/dist/ui/assets/index-C-quzPWC.js.gz +0 -0
- package/dist/ui/assets/index-ChmRuj_T.js.gz +0 -0
- package/dist/ui/assets/index-QV5-5yA2.js.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B5bgV3GH.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-Bp-aWRSc.js.gz +0 -0
- package/dist/ui/assets/katex-DGRguze2.css +0 -1
- package/dist/ui/assets/layout-BH-2XJZq.js.gz +0 -0
- package/dist/ui/assets/linear-DCYXhl_f.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-BAuL6kgQ.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-DpH5N-N0.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BB8fBxj1.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-D6oZLdUD.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-B4uGPp8w.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-MXhIjhme.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-Cm53TYug.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BVuxUkj5.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-8Jeww6Dc.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CMypNiEP.js.gz +0 -0
- package/dist/ui/assets/treemap-KMMF4GRG-BEtnV3BT.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BnioEYUM.js.gz +0 -0
|
@@ -13823,20 +13823,34 @@ import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/confi
|
|
|
13823
13823
|
|
|
13824
13824
|
// src/mcp/tools/sessions.ts
|
|
13825
13825
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13826
|
-
import {
|
|
13826
|
+
import {
|
|
13827
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13828
|
+
CODEX_MODEL_METADATA,
|
|
13829
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13830
|
+
DEFAULT_CODEX_MODEL,
|
|
13831
|
+
DEFAULT_GEMINI_MODEL,
|
|
13832
|
+
GEMINI_MODELS
|
|
13833
|
+
} from "@agor/core/models";
|
|
13834
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13827
13835
|
import {
|
|
13828
13836
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13829
13837
|
getSessionType
|
|
13830
13838
|
} from "@agor/core/types";
|
|
13831
|
-
var
|
|
13839
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13832
13840
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13833
13841
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13834
13842
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13835
13843
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13836
13844
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13837
13845
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13838
|
-
})
|
|
13839
|
-
|
|
13846
|
+
});
|
|
13847
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13848
|
+
external_exports.string().min(1).describe(
|
|
13849
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13850
|
+
),
|
|
13851
|
+
modelConfigObjectSchema
|
|
13852
|
+
]).optional().describe(
|
|
13853
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13840
13854
|
);
|
|
13841
13855
|
|
|
13842
13856
|
// src/mcp/tools/users.ts
|
|
@@ -13845,7 +13859,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13845
13859
|
// src/mcp/tools/worktrees.ts
|
|
13846
13860
|
import { isWorktreeRbacEnabled as isWorktreeRbacEnabled2 } from "@agor/core/config";
|
|
13847
13861
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13848
|
-
import {
|
|
13862
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13849
13863
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13850
13864
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13851
13865
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -13823,20 +13823,34 @@ import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/confi
|
|
|
13823
13823
|
|
|
13824
13824
|
// src/mcp/tools/sessions.ts
|
|
13825
13825
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13826
|
-
import {
|
|
13826
|
+
import {
|
|
13827
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13828
|
+
CODEX_MODEL_METADATA,
|
|
13829
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13830
|
+
DEFAULT_CODEX_MODEL,
|
|
13831
|
+
DEFAULT_GEMINI_MODEL,
|
|
13832
|
+
GEMINI_MODELS
|
|
13833
|
+
} from "@agor/core/models";
|
|
13834
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13827
13835
|
import {
|
|
13828
13836
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13829
13837
|
getSessionType
|
|
13830
13838
|
} from "@agor/core/types";
|
|
13831
|
-
var
|
|
13839
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13832
13840
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13833
13841
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13834
13842
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13835
13843
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13836
13844
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13837
13845
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13838
|
-
})
|
|
13839
|
-
|
|
13846
|
+
});
|
|
13847
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13848
|
+
external_exports.string().min(1).describe(
|
|
13849
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13850
|
+
),
|
|
13851
|
+
modelConfigObjectSchema
|
|
13852
|
+
]).optional().describe(
|
|
13853
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13840
13854
|
);
|
|
13841
13855
|
|
|
13842
13856
|
// src/mcp/tools/users.ts
|
|
@@ -13845,7 +13859,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13845
13859
|
// src/mcp/tools/worktrees.ts
|
|
13846
13860
|
import { isWorktreeRbacEnabled as isWorktreeRbacEnabled2 } from "@agor/core/config";
|
|
13847
13861
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13848
|
-
import {
|
|
13862
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13849
13863
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13850
13864
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13851
13865
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -13833,20 +13833,34 @@ import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/confi
|
|
|
13833
13833
|
|
|
13834
13834
|
// src/mcp/tools/sessions.ts
|
|
13835
13835
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13836
|
-
import {
|
|
13836
|
+
import {
|
|
13837
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13838
|
+
CODEX_MODEL_METADATA,
|
|
13839
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13840
|
+
DEFAULT_CODEX_MODEL,
|
|
13841
|
+
DEFAULT_GEMINI_MODEL,
|
|
13842
|
+
GEMINI_MODELS
|
|
13843
|
+
} from "@agor/core/models";
|
|
13844
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13837
13845
|
import {
|
|
13838
13846
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13839
13847
|
getSessionType
|
|
13840
13848
|
} from "@agor/core/types";
|
|
13841
|
-
var
|
|
13849
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13842
13850
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13843
13851
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13844
13852
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13845
13853
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13846
13854
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13847
13855
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13848
|
-
})
|
|
13849
|
-
|
|
13856
|
+
});
|
|
13857
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13858
|
+
external_exports.string().min(1).describe(
|
|
13859
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13860
|
+
),
|
|
13861
|
+
modelConfigObjectSchema
|
|
13862
|
+
]).optional().describe(
|
|
13863
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13850
13864
|
);
|
|
13851
13865
|
|
|
13852
13866
|
// src/mcp/tools/users.ts
|
|
@@ -13855,7 +13869,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13855
13869
|
// src/mcp/tools/worktrees.ts
|
|
13856
13870
|
import { isWorktreeRbacEnabled as isWorktreeRbacEnabled2 } from "@agor/core/config";
|
|
13857
13871
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13858
|
-
import {
|
|
13872
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13859
13873
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13860
13874
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13861
13875
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -13823,20 +13823,34 @@ import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/confi
|
|
|
13823
13823
|
|
|
13824
13824
|
// src/mcp/tools/sessions.ts
|
|
13825
13825
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13826
|
-
import {
|
|
13826
|
+
import {
|
|
13827
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13828
|
+
CODEX_MODEL_METADATA,
|
|
13829
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13830
|
+
DEFAULT_CODEX_MODEL,
|
|
13831
|
+
DEFAULT_GEMINI_MODEL,
|
|
13832
|
+
GEMINI_MODELS
|
|
13833
|
+
} from "@agor/core/models";
|
|
13834
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13827
13835
|
import {
|
|
13828
13836
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13829
13837
|
getSessionType
|
|
13830
13838
|
} from "@agor/core/types";
|
|
13831
|
-
var
|
|
13839
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13832
13840
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13833
13841
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13834
13842
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13835
13843
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13836
13844
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13837
13845
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13838
|
-
})
|
|
13839
|
-
|
|
13846
|
+
});
|
|
13847
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13848
|
+
external_exports.string().min(1).describe(
|
|
13849
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13850
|
+
),
|
|
13851
|
+
modelConfigObjectSchema
|
|
13852
|
+
]).optional().describe(
|
|
13853
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13840
13854
|
);
|
|
13841
13855
|
|
|
13842
13856
|
// src/mcp/tools/users.ts
|
|
@@ -13845,7 +13859,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13845
13859
|
// src/mcp/tools/worktrees.ts
|
|
13846
13860
|
import { isWorktreeRbacEnabled as isWorktreeRbacEnabled2 } from "@agor/core/config";
|
|
13847
13861
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13848
|
-
import {
|
|
13862
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13849
13863
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13850
13864
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13851
13865
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -1,12 +1,39 @@
|
|
|
1
|
+
import { MCPServer } from '@agor/core/types';
|
|
1
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
3
|
import { McpContext } from '../server.js';
|
|
3
4
|
import '@agor/core/db';
|
|
4
5
|
import '@agor/core/feathers';
|
|
5
|
-
import '@agor/core/types';
|
|
6
6
|
import '../../declarations.js';
|
|
7
7
|
import '../../services/sessions.js';
|
|
8
8
|
import '../../adapters/drizzle.js';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Standard MCP-server payload returned by the MCP tools. Shared by the catalog
|
|
12
|
+
* lister (`agor_mcp_servers_list`) and the per-session attachment view that
|
|
13
|
+
* `agor_sessions_get_current` / `agor_sessions_get` embeds as
|
|
14
|
+
* `attached_mcp_servers` — keeping one shape so agents can treat them
|
|
15
|
+
* identically.
|
|
16
|
+
*/
|
|
17
|
+
interface McpServerSummary {
|
|
18
|
+
mcp_server_id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
display_name?: string;
|
|
21
|
+
transport: string;
|
|
22
|
+
auth_type: string;
|
|
23
|
+
oauth_mode?: string;
|
|
24
|
+
oauth_authenticated: boolean;
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
}
|
|
27
|
+
/** Build the standard MCP-server summary, resolving OAuth status inline. */
|
|
28
|
+
declare function summarizeMcpServer(ctx: McpContext, mcpServer: MCPServer): Promise<McpServerSummary>;
|
|
29
|
+
/**
|
|
30
|
+
* List MCP servers attached to a session (via the `session-mcp-servers`
|
|
31
|
+
* junction), enriched with OAuth status. Used by `agor_sessions_get_current`
|
|
32
|
+
* and `agor_sessions_get` to expose `attached_mcp_servers` in their payload.
|
|
33
|
+
*/
|
|
34
|
+
declare function listAttachedMcpServers(ctx: McpContext, sessionId: string, opts?: {
|
|
35
|
+
includeDisabled?: boolean;
|
|
36
|
+
}): Promise<McpServerSummary[]>;
|
|
10
37
|
declare function registerMcpServerTools(server: McpServer, ctx: McpContext): void;
|
|
11
38
|
|
|
12
|
-
export { registerMcpServerTools };
|
|
39
|
+
export { type McpServerSummary, listAttachedMcpServers, registerMcpServerTools, summarizeMcpServer };
|
|
@@ -13823,20 +13823,34 @@ import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/confi
|
|
|
13823
13823
|
|
|
13824
13824
|
// src/mcp/tools/sessions.ts
|
|
13825
13825
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13826
|
-
import {
|
|
13826
|
+
import {
|
|
13827
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13828
|
+
CODEX_MODEL_METADATA,
|
|
13829
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13830
|
+
DEFAULT_CODEX_MODEL,
|
|
13831
|
+
DEFAULT_GEMINI_MODEL,
|
|
13832
|
+
GEMINI_MODELS
|
|
13833
|
+
} from "@agor/core/models";
|
|
13834
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13827
13835
|
import {
|
|
13828
13836
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13829
13837
|
getSessionType
|
|
13830
13838
|
} from "@agor/core/types";
|
|
13831
|
-
var
|
|
13839
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13832
13840
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13833
13841
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13834
13842
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13835
13843
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13836
13844
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13837
13845
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13838
|
-
})
|
|
13839
|
-
|
|
13846
|
+
});
|
|
13847
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13848
|
+
external_exports.string().min(1).describe(
|
|
13849
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13850
|
+
),
|
|
13851
|
+
modelConfigObjectSchema
|
|
13852
|
+
]).optional().describe(
|
|
13853
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13840
13854
|
);
|
|
13841
13855
|
|
|
13842
13856
|
// src/mcp/tools/users.ts
|
|
@@ -13845,7 +13859,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13845
13859
|
// src/mcp/tools/worktrees.ts
|
|
13846
13860
|
import { isWorktreeRbacEnabled as isWorktreeRbacEnabled2 } from "@agor/core/config";
|
|
13847
13861
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13848
|
-
import {
|
|
13862
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13849
13863
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13850
13864
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13851
13865
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -13878,11 +13892,47 @@ async function getOAuthStatus(ctx, mcpServer) {
|
|
|
13878
13892
|
}
|
|
13879
13893
|
return { authenticated: false };
|
|
13880
13894
|
}
|
|
13895
|
+
async function summarizeMcpServer(ctx, mcpServer) {
|
|
13896
|
+
const authType = mcpServer.auth?.type || "none";
|
|
13897
|
+
const oauthMode = mcpServer.auth?.oauth_mode || "per_user";
|
|
13898
|
+
const { authenticated } = await getOAuthStatus(ctx, mcpServer);
|
|
13899
|
+
return {
|
|
13900
|
+
mcp_server_id: mcpServer.mcp_server_id,
|
|
13901
|
+
name: mcpServer.name,
|
|
13902
|
+
display_name: mcpServer.display_name,
|
|
13903
|
+
transport: mcpServer.transport,
|
|
13904
|
+
auth_type: authType,
|
|
13905
|
+
oauth_mode: oauthMode,
|
|
13906
|
+
oauth_authenticated: authenticated,
|
|
13907
|
+
enabled: mcpServer.enabled
|
|
13908
|
+
};
|
|
13909
|
+
}
|
|
13910
|
+
async function listAttachedMcpServers(ctx, sessionId, opts = {}) {
|
|
13911
|
+
const sessionMCPServers = await ctx.app.service("session-mcp-servers").find({
|
|
13912
|
+
...ctx.baseServiceParams,
|
|
13913
|
+
query: {
|
|
13914
|
+
session_id: sessionId,
|
|
13915
|
+
...opts.includeDisabled ? {} : { enabled: true },
|
|
13916
|
+
$limit: 100
|
|
13917
|
+
}
|
|
13918
|
+
});
|
|
13919
|
+
const data = Array.isArray(sessionMCPServers) ? sessionMCPServers : sessionMCPServers.data;
|
|
13920
|
+
const summaries = [];
|
|
13921
|
+
for (const sms of data) {
|
|
13922
|
+
try {
|
|
13923
|
+
const mcpServer = await ctx.app.service("mcp-servers").get(sms.mcp_server_id, ctx.baseServiceParams);
|
|
13924
|
+
summaries.push(await summarizeMcpServer(ctx, mcpServer));
|
|
13925
|
+
} catch (error48) {
|
|
13926
|
+
console.warn(`Failed to fetch MCP server ${sms.mcp_server_id}:`, error48);
|
|
13927
|
+
}
|
|
13928
|
+
}
|
|
13929
|
+
return summaries;
|
|
13930
|
+
}
|
|
13881
13931
|
function registerMcpServerTools(server, ctx) {
|
|
13882
13932
|
server.registerTool(
|
|
13883
13933
|
"agor_mcp_servers_list",
|
|
13884
13934
|
{
|
|
13885
|
-
description: "List MCP servers
|
|
13935
|
+
description: "List the MCP-server catalog the current user can access (i.e. servers eligible to attach to a session). Each entry includes name, transport, auth type, and OAuth status. Use this to discover IDs to pass to `agor_sessions_create({ mcpServerIds })`. To see which servers are currently ATTACHED to a session, read `attached_mcp_servers` from `agor_sessions_get_current` or `agor_sessions_get`.",
|
|
13886
13936
|
annotations: { readOnlyHint: true },
|
|
13887
13937
|
inputSchema: external_exports.object({
|
|
13888
13938
|
includeDisabled: external_exports.boolean().optional().describe("Include disabled MCP servers (default: false)")
|
|
@@ -13890,62 +13940,20 @@ function registerMcpServerTools(server, ctx) {
|
|
|
13890
13940
|
},
|
|
13891
13941
|
async (args) => {
|
|
13892
13942
|
const includeDisabled = args.includeDisabled === true;
|
|
13893
|
-
const
|
|
13943
|
+
const result = await ctx.app.service("mcp-servers").find({
|
|
13894
13944
|
...ctx.baseServiceParams,
|
|
13895
13945
|
query: {
|
|
13896
|
-
|
|
13946
|
+
scope: "global",
|
|
13897
13947
|
...includeDisabled ? {} : { enabled: true },
|
|
13898
13948
|
$limit: 100
|
|
13899
13949
|
}
|
|
13900
13950
|
});
|
|
13951
|
+
const data = Array.isArray(result) ? result : result.data;
|
|
13901
13952
|
const servers = [];
|
|
13902
|
-
const
|
|
13903
|
-
|
|
13904
|
-
(sms) => sms.mcp_server_id
|
|
13905
|
-
);
|
|
13906
|
-
for (const serverId of mcpServerIds) {
|
|
13907
|
-
try {
|
|
13908
|
-
const mcpServer = await ctx.app.service("mcp-servers").get(serverId, ctx.baseServiceParams);
|
|
13909
|
-
const authType = mcpServer.auth?.type || "none";
|
|
13910
|
-
const oauthMode = mcpServer.auth?.oauth_mode || "per_user";
|
|
13911
|
-
const { authenticated } = await getOAuthStatus(ctx, mcpServer);
|
|
13912
|
-
servers.push({
|
|
13913
|
-
mcp_server_id: mcpServer.mcp_server_id,
|
|
13914
|
-
name: mcpServer.name,
|
|
13915
|
-
display_name: mcpServer.display_name,
|
|
13916
|
-
transport: mcpServer.transport,
|
|
13917
|
-
auth_type: authType,
|
|
13918
|
-
oauth_mode: oauthMode,
|
|
13919
|
-
oauth_authenticated: authenticated,
|
|
13920
|
-
enabled: mcpServer.enabled
|
|
13921
|
-
});
|
|
13922
|
-
} catch (error48) {
|
|
13923
|
-
console.warn(`Failed to fetch MCP server ${serverId}:`, error48);
|
|
13924
|
-
}
|
|
13925
|
-
}
|
|
13926
|
-
const globalServers = await ctx.app.service("mcp-servers").find({
|
|
13927
|
-
...ctx.baseServiceParams,
|
|
13928
|
-
query: { scope: "global", ...includeDisabled ? {} : { enabled: true }, $limit: 100 }
|
|
13929
|
-
});
|
|
13930
|
-
for (const mcpServer of Array.isArray(globalServers) ? globalServers : globalServers.data) {
|
|
13931
|
-
if (!mcpServerIds.includes(mcpServer.mcp_server_id)) {
|
|
13932
|
-
const authType = mcpServer.auth?.type || "none";
|
|
13933
|
-
const oauthMode = mcpServer.auth?.oauth_mode || "per_user";
|
|
13934
|
-
const { authenticated } = await getOAuthStatus(ctx, mcpServer);
|
|
13935
|
-
servers.push({
|
|
13936
|
-
mcp_server_id: mcpServer.mcp_server_id,
|
|
13937
|
-
name: mcpServer.name,
|
|
13938
|
-
display_name: mcpServer.display_name,
|
|
13939
|
-
transport: mcpServer.transport,
|
|
13940
|
-
auth_type: authType,
|
|
13941
|
-
oauth_mode: oauthMode,
|
|
13942
|
-
oauth_authenticated: authenticated,
|
|
13943
|
-
enabled: mcpServer.enabled
|
|
13944
|
-
});
|
|
13945
|
-
}
|
|
13953
|
+
for (const mcpServer of data) {
|
|
13954
|
+
servers.push(await summarizeMcpServer(ctx, mcpServer));
|
|
13946
13955
|
}
|
|
13947
13956
|
return textResult({
|
|
13948
|
-
session_id: ctx.sessionId,
|
|
13949
13957
|
mcp_servers: servers,
|
|
13950
13958
|
summary: {
|
|
13951
13959
|
total: servers.length,
|
|
@@ -13984,5 +13992,7 @@ function registerMcpServerTools(server, ctx) {
|
|
|
13984
13992
|
);
|
|
13985
13993
|
}
|
|
13986
13994
|
export {
|
|
13987
|
-
|
|
13995
|
+
listAttachedMcpServers,
|
|
13996
|
+
registerMcpServerTools,
|
|
13997
|
+
summarizeMcpServer
|
|
13988
13998
|
};
|
|
@@ -13837,20 +13837,34 @@ import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/confi
|
|
|
13837
13837
|
|
|
13838
13838
|
// src/mcp/tools/sessions.ts
|
|
13839
13839
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13840
|
-
import {
|
|
13840
|
+
import {
|
|
13841
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13842
|
+
CODEX_MODEL_METADATA,
|
|
13843
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13844
|
+
DEFAULT_CODEX_MODEL,
|
|
13845
|
+
DEFAULT_GEMINI_MODEL,
|
|
13846
|
+
GEMINI_MODELS
|
|
13847
|
+
} from "@agor/core/models";
|
|
13848
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13841
13849
|
import {
|
|
13842
13850
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13843
13851
|
getSessionType
|
|
13844
13852
|
} from "@agor/core/types";
|
|
13845
|
-
var
|
|
13853
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13846
13854
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13847
13855
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13848
13856
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13849
13857
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13850
13858
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13851
13859
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13852
|
-
})
|
|
13853
|
-
|
|
13860
|
+
});
|
|
13861
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13862
|
+
external_exports.string().min(1).describe(
|
|
13863
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13864
|
+
),
|
|
13865
|
+
modelConfigObjectSchema
|
|
13866
|
+
]).optional().describe(
|
|
13867
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13854
13868
|
);
|
|
13855
13869
|
|
|
13856
13870
|
// src/mcp/tools/users.ts
|
|
@@ -13859,7 +13873,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13859
13873
|
// src/mcp/tools/worktrees.ts
|
|
13860
13874
|
import { isWorktreeRbacEnabled } from "@agor/core/config";
|
|
13861
13875
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13862
|
-
import {
|
|
13876
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13863
13877
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13864
13878
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13865
13879
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -13823,20 +13823,34 @@ import {
|
|
|
13823
13823
|
|
|
13824
13824
|
// src/mcp/tools/sessions.ts
|
|
13825
13825
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13826
|
-
import {
|
|
13826
|
+
import {
|
|
13827
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13828
|
+
CODEX_MODEL_METADATA,
|
|
13829
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13830
|
+
DEFAULT_CODEX_MODEL,
|
|
13831
|
+
DEFAULT_GEMINI_MODEL,
|
|
13832
|
+
GEMINI_MODELS
|
|
13833
|
+
} from "@agor/core/models";
|
|
13834
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13827
13835
|
import {
|
|
13828
13836
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13829
13837
|
getSessionType
|
|
13830
13838
|
} from "@agor/core/types";
|
|
13831
|
-
var
|
|
13839
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13832
13840
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13833
13841
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13834
13842
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13835
13843
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13836
13844
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13837
13845
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13838
|
-
})
|
|
13839
|
-
|
|
13846
|
+
});
|
|
13847
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13848
|
+
external_exports.string().min(1).describe(
|
|
13849
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13850
|
+
),
|
|
13851
|
+
modelConfigObjectSchema
|
|
13852
|
+
]).optional().describe(
|
|
13853
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13840
13854
|
);
|
|
13841
13855
|
|
|
13842
13856
|
// src/mcp/tools/users.ts
|
|
@@ -13845,7 +13859,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13845
13859
|
// src/mcp/tools/worktrees.ts
|
|
13846
13860
|
import { isWorktreeRbacEnabled as isWorktreeRbacEnabled2 } from "@agor/core/config";
|
|
13847
13861
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13848
|
-
import {
|
|
13862
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13849
13863
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13850
13864
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13851
13865
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|
|
@@ -13918,20 +13918,34 @@ import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/confi
|
|
|
13918
13918
|
|
|
13919
13919
|
// src/mcp/tools/sessions.ts
|
|
13920
13920
|
import { WorktreeRepository as WorktreeRepository2 } from "@agor/core/db";
|
|
13921
|
-
import {
|
|
13921
|
+
import {
|
|
13922
|
+
AVAILABLE_CLAUDE_MODEL_ALIASES,
|
|
13923
|
+
CODEX_MODEL_METADATA,
|
|
13924
|
+
DEFAULT_CLAUDE_MODEL,
|
|
13925
|
+
DEFAULT_CODEX_MODEL,
|
|
13926
|
+
DEFAULT_GEMINI_MODEL,
|
|
13927
|
+
GEMINI_MODELS
|
|
13928
|
+
} from "@agor/core/models";
|
|
13929
|
+
import { resolveSessionDefaults } from "@agor/core/sessions";
|
|
13922
13930
|
import {
|
|
13923
13931
|
AGENTIC_TOOL_CAPABILITIES,
|
|
13924
13932
|
getSessionType
|
|
13925
13933
|
} from "@agor/core/types";
|
|
13926
|
-
var
|
|
13934
|
+
var modelConfigObjectSchema = external_exports.object({
|
|
13927
13935
|
mode: external_exports.enum(["alias", "exact"]).optional().describe("Model selection mode (default: 'alias')"),
|
|
13928
13936
|
// .min(1): reject empty-string model explicitly so callers don't silently
|
|
13929
13937
|
// fall through to user defaults when they meant to pin a specific model.
|
|
13930
13938
|
model: external_exports.string().min(1).describe("Model identifier (e.g. 'claude-opus-4-6', 'claude-sonnet-4-6')"),
|
|
13931
13939
|
effort: external_exports.enum(["low", "medium", "high", "max"]).optional().describe("Reasoning effort level (default: high)"),
|
|
13932
13940
|
provider: external_exports.string().optional().describe("Provider ID (OpenCode only, e.g. 'anthropic')")
|
|
13933
|
-
})
|
|
13934
|
-
|
|
13941
|
+
});
|
|
13942
|
+
var modelConfigInputSchema = external_exports.union([
|
|
13943
|
+
external_exports.string().min(1).describe(
|
|
13944
|
+
"Shorthand: just the model ID string (e.g. 'claude-opus-4-6'). Equivalent to { model: <id> }."
|
|
13945
|
+
),
|
|
13946
|
+
modelConfigObjectSchema
|
|
13947
|
+
]).optional().describe(
|
|
13948
|
+
"Model override for this session. Pass either a model ID string (e.g. 'claude-opus-4-6') or a full { mode, model, effort, provider } object. Overrides the user default model_config and is threaded through to the spawned agent process. Call agor_models_list to discover valid model IDs per agenticTool."
|
|
13935
13949
|
);
|
|
13936
13950
|
|
|
13937
13951
|
// src/mcp/tools/users.ts
|
|
@@ -13940,7 +13954,7 @@ import { ROLES as ROLES2 } from "@agor/core/types";
|
|
|
13940
13954
|
// src/mcp/tools/worktrees.ts
|
|
13941
13955
|
import { isWorktreeRbacEnabled as isWorktreeRbacEnabled2 } from "@agor/core/config";
|
|
13942
13956
|
import { WorktreeRepository as WorktreeRepository3 } from "@agor/core/db";
|
|
13943
|
-
import {
|
|
13957
|
+
import { resolveSessionDefaults as resolveSessionDefaults2 } from "@agor/core/sessions";
|
|
13944
13958
|
import { getAssistantConfig, isAssistant, WORKTREE_PERMISSION_LEVELS as WORKTREE_PERMISSION_LEVELS2 } from "@agor/core/types";
|
|
13945
13959
|
import { computeZoneRelativePosition } from "@agor/core/utils/board-placement";
|
|
13946
13960
|
import { normalizeOptionalHttpUrl } from "@agor/core/utils/url";
|