agor-live 0.16.1 → 0.16.2
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/commands/daemon/sync.d.ts +19 -0
- package/dist/cli/commands/daemon/sync.js +277 -0
- package/dist/core/{agentic-tool-COqFrlmU.d.ts → agentic-tool-1L19ixPC.d.ts} +21 -2
- package/dist/core/{agentic-tool-o8Io8dDl.d.cts → agentic-tool-3oiAj9Lg.d.cts} +21 -2
- package/dist/core/api/index.d.cts +11 -11
- package/dist/core/api/index.d.ts +11 -11
- package/dist/core/{artifact-Cv9Bs4Z0.d.cts → artifact-B5MFR79G.d.ts} +31 -11
- package/dist/core/{artifact-KXt7SRRb.d.ts → artifact-Bi-1jifF.d.cts} +31 -11
- package/dist/core/{board-Bfd4UTxM.d.ts → board-B9Xnux_i.d.ts} +11 -7
- package/dist/core/{board-BTK4RUmB.d.cts → board-CPZGf5wF.d.cts} +11 -7
- package/dist/core/{board-comment-D8NdYb9y.d.cts → board-comment-BQKnob6r.d.cts} +1 -1
- package/dist/core/{board-comment-BZm5w5S2.d.ts → board-comment-BoDqwrnL.d.ts} +1 -1
- package/dist/core/claude/index.cjs +295 -110
- package/dist/core/claude/index.d.cts +3 -3
- package/dist/core/claude/index.d.ts +3 -3
- package/dist/core/claude/index.js +302 -117
- package/dist/core/{client-DJJl-TZq.d.cts → client-BC_18M7T.d.cts} +204 -25
- package/dist/core/{client-8v0GxKL_.d.ts → client-HEOUNaCs.d.ts} +204 -25
- package/dist/core/config/browser.cjs +4 -2
- package/dist/core/config/browser.d.cts +16 -4
- package/dist/core/config/browser.d.ts +16 -4
- package/dist/core/config/browser.js +3 -2
- package/dist/core/config/index.cjs +498 -103
- package/dist/core/config/index.d.cts +226 -15
- package/dist/core/config/index.d.ts +226 -15
- package/dist/core/config/index.js +492 -110
- package/dist/core/{config-manager-CFaSP-Ym.d.ts → config-manager-DK1LMXEc.d.cts} +9 -2
- package/dist/core/{config-manager-BLIWF6CF.d.cts → config-manager-YrO9mG5j.d.ts} +9 -2
- package/dist/core/config-services-CuhBWSs_.d.cts +183 -0
- package/dist/core/config-services-DrHSgUEm.d.ts +183 -0
- package/dist/core/db/index.cjs +432 -139
- package/dist/core/db/index.d.cts +216 -32
- package/dist/core/db/index.d.ts +216 -32
- package/dist/core/db/index.js +443 -150
- package/dist/core/db/session-guard.d.cts +8 -8
- package/dist/core/db/session-guard.d.ts +8 -8
- package/dist/core/drizzle/postgres/0023_tough_magik.sql +11 -0
- package/dist/core/drizzle/postgres/meta/0023_snapshot.json +3006 -0
- package/dist/core/drizzle/postgres/meta/_journal.json +7 -0
- package/dist/core/drizzle/sqlite/0033_dapper_thing.sql +34 -0
- package/dist/core/drizzle/sqlite/0034_add_session_to_others_can_check.sql +72 -0
- package/dist/core/drizzle/sqlite/meta/0033_snapshot.json +2401 -0
- package/dist/core/drizzle/sqlite/meta/_journal.json +14 -0
- package/dist/core/environment/variable-resolver.d.cts +2 -2
- package/dist/core/environment/variable-resolver.d.ts +2 -2
- package/dist/core/{feathers-DWfz4X2s.d.ts → feathers-CYAHFZ05.d.cts} +2 -2
- package/dist/core/{feathers-DstwBmky.d.cts → feathers-CzuSOZgY.d.ts} +2 -2
- package/dist/core/gateway/index.cjs +122 -16
- package/dist/core/gateway/index.d.cts +73 -11
- package/dist/core/gateway/index.d.ts +73 -11
- package/dist/core/gateway/index.js +121 -16
- package/dist/core/{gateway-BQsBWJXe.d.cts → gateway-Ci8LcUxK.d.ts} +24 -9
- package/dist/core/{gateway-BmsFBjwJ.d.ts → gateway-gHbaS6qt.d.cts} +24 -9
- package/dist/core/git/index.d.cts +9 -2
- package/dist/core/git/index.d.ts +9 -2
- package/dist/core/{id-DSzvIi3c.d.cts → id-Cv3ntaTJ.d.cts} +13 -1
- package/dist/core/{id-DSzvIi3c.d.ts → id-Cv3ntaTJ.d.ts} +13 -1
- package/dist/core/index.cjs +969 -280
- package/dist/core/index.d.cts +21 -19
- package/dist/core/index.d.ts +21 -19
- package/dist/core/index.js +949 -289
- package/dist/core/mcp/index.cjs +56 -14
- package/dist/core/mcp/index.d.cts +2 -2
- package/dist/core/mcp/index.d.ts +2 -2
- package/dist/core/mcp/index.js +56 -14
- package/dist/core/{mcp-DmSz5NtX.d.cts → mcp-CtC1DFEm.d.cts} +1 -1
- package/dist/core/{mcp-eYAM1JQj.d.ts → mcp-VhU-PMHo.d.ts} +1 -1
- package/dist/core/{message-ggLv6xJx.d.cts → message-CbD99EwO.d.cts} +33 -2
- package/dist/core/{message-DcNHiQJx.d.ts → message-Cwhx2ItQ.d.ts} +33 -2
- package/dist/core/models/index.cjs +21 -4
- package/dist/core/models/index.d.cts +29 -5
- package/dist/core/models/index.d.ts +29 -5
- package/dist/core/models/index.js +21 -4
- package/dist/core/permissions/index.d.cts +2 -2
- package/dist/core/permissions/index.d.ts +2 -2
- package/dist/core/{worktree-DQ1rsBlH.d.cts → repo-CcvhnJDf.d.cts} +177 -170
- package/dist/core/{worktree-CbBATC-0.d.ts → repo-j12tCmyK.d.ts} +177 -170
- package/dist/core/seed/index.cjs +353 -99
- package/dist/core/seed/index.d.cts +1 -1
- package/dist/core/seed/index.d.ts +1 -1
- package/dist/core/seed/index.js +361 -107
- package/dist/core/{session-I7SKR8X0.d.ts → session-Bw8_FN2l.d.ts} +20 -3
- package/dist/core/{session-DrNmhT4I.d.cts → session-DEU5FS0N.d.cts} +20 -3
- package/dist/core/{session-guard-DP0eaFA2.d.cts → session-guard-BjHxMpvV.d.cts} +3 -3
- package/dist/core/{session-guard-CpgPDegW.d.ts → session-guard-CJ7sfOF1.d.ts} +3 -3
- package/dist/core/{task-C_4XIEFP.d.ts → task-CKHC1gPj.d.ts} +1 -1
- package/dist/core/{task-Cobwzp1Z.d.cts → task-DCPYEXlG.d.cts} +1 -1
- package/dist/core/templates/session-context.d.cts +5 -5
- package/dist/core/templates/session-context.d.ts +5 -5
- package/dist/core/tools/mcp/jwt-auth.d.cts +2 -2
- package/dist/core/tools/mcp/jwt-auth.d.ts +2 -2
- package/dist/core/tools/mcp/oauth-mcp-transport.cjs +71 -16
- package/dist/core/tools/mcp/oauth-mcp-transport.d.cts +46 -11
- package/dist/core/tools/mcp/oauth-mcp-transport.d.ts +46 -11
- package/dist/core/tools/mcp/oauth-mcp-transport.js +69 -16
- package/dist/core/types/index.cjs +183 -2
- package/dist/core/types/index.d.cts +16 -15
- package/dist/core/types/index.d.ts +16 -15
- package/dist/core/types/index.js +166 -1
- package/dist/core/{types-DKptGEQi.d.ts → types-BE6DTpRe.d.cts} +37 -4
- package/dist/core/{types-DKptGEQi.d.cts → types-BvYoeNhO.d.ts} +37 -4
- package/dist/core/unix/index.cjs +360 -104
- package/dist/core/unix/index.d.cts +8 -8
- package/dist/core/unix/index.d.ts +8 -8
- package/dist/core/unix/index.js +368 -112
- package/dist/core/{user-gTo6uzKE.d.cts → user-BpKIlt04.d.cts} +3 -3
- package/dist/core/{user-C-kUEFPf.d.ts → user-pO3lB_da.d.ts} +3 -3
- package/dist/core/utils/board-placement.cjs +78 -11
- package/dist/core/utils/board-placement.d.cts +55 -10
- package/dist/core/utils/board-placement.d.ts +55 -10
- package/dist/core/utils/board-placement.js +71 -10
- package/dist/core/utils/permission-mode-mapper.d.cts +3 -3
- package/dist/core/utils/permission-mode-mapper.d.ts +3 -3
- package/dist/core/utils/url.d.cts +1 -1
- package/dist/core/utils/url.d.ts +1 -1
- package/dist/daemon/declarations.d.ts +4 -1
- package/dist/daemon/executor-tracking.d.ts +27 -0
- package/dist/daemon/executor-tracking.js +40 -0
- package/dist/daemon/index.js +12919 -12063
- package/dist/daemon/mcp/resolve-ids.d.ts +34 -0
- package/dist/daemon/mcp/resolve-ids.js +48 -0
- package/dist/daemon/mcp/server.d.ts +11 -3
- package/dist/daemon/mcp/server.js +562 -313
- package/dist/daemon/mcp/tools/analytics.js +29 -6
- package/dist/daemon/mcp/tools/artifacts.d.ts +2 -2
- package/dist/daemon/mcp/tools/artifacts.js +112 -55
- package/dist/daemon/mcp/tools/boards.js +12 -3
- package/dist/daemon/mcp/tools/card-types.js +12 -3
- package/dist/daemon/mcp/tools/cards.js +35 -12
- package/dist/daemon/mcp/tools/environment.js +12 -3
- package/dist/daemon/mcp/tools/mcp-servers.js +46 -128
- package/dist/daemon/mcp/tools/messages.js +27 -6
- package/dist/daemon/mcp/tools/repos.js +12 -3
- package/dist/daemon/mcp/tools/search.js +27 -5
- package/dist/daemon/mcp/tools/sessions.js +147 -48
- package/dist/daemon/mcp/tools/tasks.js +19 -4
- package/dist/daemon/mcp/tools/users.js +12 -3
- package/dist/daemon/mcp/tools/worktrees.js +168 -26
- package/dist/daemon/oauth-cache.d.ts +50 -0
- package/dist/daemon/oauth-cache.js +134 -0
- package/dist/daemon/register-hooks.d.ts +40 -0
- package/dist/daemon/register-hooks.js +2390 -0
- package/dist/daemon/register-routes.d.ts +49 -0
- package/dist/daemon/register-routes.js +20829 -0
- package/dist/daemon/register-services.d.ts +53 -0
- package/dist/daemon/register-services.js +8290 -0
- package/dist/daemon/services/artifacts.d.ts +49 -32
- package/dist/daemon/services/artifacts.js +193 -176
- package/dist/daemon/services/cards.js +12 -27
- package/dist/daemon/services/gateway.js +67 -1
- package/dist/daemon/services/health-monitor.d.ts +2 -2
- package/dist/daemon/services/repos.d.ts +3 -1
- package/dist/daemon/services/repos.js +20 -29
- package/dist/daemon/services/session-mcp-servers.d.ts +1 -1
- package/dist/daemon/services/sessions.js +3 -1
- package/dist/daemon/services/tasks.d.ts +6 -0
- package/dist/daemon/services/tasks.js +123 -1
- package/dist/daemon/services/worktree-owners.js +6 -4
- package/dist/daemon/setup/cors.d.ts +17 -7
- package/dist/daemon/setup/cors.js +57 -24
- package/dist/daemon/setup/index.d.ts +1 -0
- package/dist/daemon/setup/index.js +57 -24
- package/dist/daemon/setup/service-tiers.d.ts +45 -0
- package/dist/daemon/setup/service-tiers.js +111 -0
- package/dist/daemon/setup/socketio.d.ts +1 -0
- package/dist/daemon/startup.d.ts +27 -0
- package/dist/daemon/startup.js +750 -0
- package/dist/daemon/utils/worktree-authorization.d.ts +29 -6
- package/dist/daemon/utils/worktree-authorization.js +75 -18
- package/dist/executor/db/feathers-repositories.d.ts +0 -1
- package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
- package/dist/executor/db/feathers-repositories.js +0 -2
- package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
- package/dist/executor/handlers/sdk/claude.js +0 -1
- package/dist/executor/sdk-handlers/base/diff-enrichment.d.ts +56 -0
- package/dist/executor/sdk-handlers/base/diff-enrichment.d.ts.map +1 -0
- package/dist/executor/sdk-handlers/base/diff-enrichment.js +329 -0
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +0 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/claude-tool.js +8 -3
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +1 -3
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/prompt-service.js +3 -35
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts +0 -8
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/claude/query-builder.js +0 -10
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/codex/codex-tool.js +3 -0
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/gemini/gemini-tool.js +5 -0
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +1 -1
- package/dist/executor/sdk-handlers/opencode/opencode-tool.js +3 -0
- package/dist/ui/assets/{_basePickBy-BtVrd6dO.js → _basePickBy-By_woBZB.js} +1 -1
- package/dist/ui/assets/_basePickBy-By_woBZB.js.gz +0 -0
- package/dist/ui/assets/{_baseUniq-BH9GjWbF.js → _baseUniq-C2jLj-Al.js} +1 -1
- package/dist/ui/assets/_baseUniq-C2jLj-Al.js.gz +0 -0
- package/dist/ui/assets/{arc-B4KDi1iJ.js → arc-DADMFVbt.js} +1 -1
- package/dist/ui/assets/arc-DADMFVbt.js.gz +0 -0
- package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CdvbpFNm.js → architectureDiagram-VXUJARFQ-rNJ5lYJQ.js} +1 -1
- package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CdvbpFNm.js.gz → architectureDiagram-VXUJARFQ-rNJ5lYJQ.js.gz} +0 -0
- package/dist/ui/assets/{base-80a1f760-D-kQo-47.js → base-80a1f760-BVsv_T1S.js} +1 -1
- package/dist/ui/assets/{blockDiagram-VD42YOAC-B_mxl6Lf.js → blockDiagram-VD42YOAC-CezN66iB.js} +1 -1
- package/dist/ui/assets/blockDiagram-VD42YOAC-CezN66iB.js.gz +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dx6ylHPl.js → c4Diagram-YG6GDRKO-Dze59YuK.js} +1 -1
- package/dist/ui/assets/c4Diagram-YG6GDRKO-Dze59YuK.js.gz +0 -0
- package/dist/ui/assets/channel-B2nSdT47.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-DNC2--Jg.js → chunk-4BX2VUAB-CXL-V_XA.js} +1 -1
- package/dist/ui/assets/{chunk-55IACEB6-gGF1w6GZ.js → chunk-55IACEB6-CI3h0xTl.js} +1 -1
- package/dist/ui/assets/{chunk-B4BG7PRW-FXlRD4Fw.js → chunk-B4BG7PRW-CFohiEqO.js} +1 -1
- package/dist/ui/assets/chunk-B4BG7PRW-CFohiEqO.js.gz +0 -0
- package/dist/ui/assets/{chunk-DI55MBZ5-DbBPQIQz.js → chunk-DI55MBZ5-BbF4fGKj.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-BbF4fGKj.js.gz +0 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-BqwS15h8.js → chunk-FMBD7UC4-C5x6cpDg.js} +1 -1
- package/dist/ui/assets/{chunk-QN33PNHL-E8BK1n1w.js → chunk-QN33PNHL-CEDiC29y.js} +1 -1
- package/dist/ui/assets/{chunk-QZHKN3VN-CoigW80z.js → chunk-QZHKN3VN-DPo28cCF.js} +1 -1
- package/dist/ui/assets/{chunk-TZMSLE5B-DdFLlZDV.js → chunk-TZMSLE5B-C94jSlIG.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-C94jSlIG.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-lwQJA5v0.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-lwQJA5v0.js +1 -0
- package/dist/ui/assets/clone-DmZ98vg9.js +1 -0
- package/dist/ui/assets/{consoleHook-59e792cb-Dz0DMm-0.js → consoleHook-59e792cb-cpS6JVM4.js} +1 -1
- package/dist/ui/assets/consoleHook-59e792cb-cpS6JVM4.js.gz +0 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-tnhbVTPe.js → cose-bilkent-S5V4N54A-CcoEg_Ct.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-CcoEg_Ct.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-CVjnxYjN.js → dagre-6UL2VRFP-DWAyqs2B.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-DWAyqs2B.js.gz +0 -0
- package/dist/ui/assets/{diagram-PSM6KHXK-CWFzevZb.js → diagram-PSM6KHXK-C7J2MNfc.js} +1 -1
- package/dist/ui/assets/diagram-PSM6KHXK-C7J2MNfc.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-T_J5IVCY.js → diagram-QEK2KX5R-6KZjqziN.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-6KZjqziN.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-C4Dhp8jy.js → diagram-S2PKOQOG-DIL01325.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-DIL01325.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-D8w2VOw6.js → erDiagram-Q2GNP2WA-D5j4CetG.js} +1 -1
- package/dist/ui/assets/erDiagram-Q2GNP2WA-D5j4CetG.js.gz +0 -0
- package/dist/ui/assets/{flowDiagram-NV44I4VS-BxDP6XJj.js → flowDiagram-NV44I4VS-Bxx2iEi-.js} +1 -1
- package/dist/ui/assets/flowDiagram-NV44I4VS-Bxx2iEi-.js.gz +0 -0
- package/dist/ui/assets/{ganttDiagram-LVOFAZNH-Cqm31nz1.js → ganttDiagram-LVOFAZNH-BtBi1ZfT.js} +1 -1
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-BtBi1ZfT.js.gz +0 -0
- package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-49108Rzr.js → gitGraphDiagram-NY62KEGX-CY1TKvzA.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CY1TKvzA.js.gz +0 -0
- package/dist/ui/assets/{graph-Cl9WGtm3.js → graph-DC6eH7AX.js} +1 -1
- package/dist/ui/assets/graph-DC6eH7AX.js.gz +0 -0
- package/dist/ui/assets/{index-599aeaf7-tGQYdGhA.js → index-599aeaf7-Dh_oObwY.js} +1 -1
- package/dist/ui/assets/index-599aeaf7-Dh_oObwY.js.gz +0 -0
- package/dist/ui/assets/{index-DUaptCU5.js → index-CxWOjjRu.js} +1 -1
- package/dist/ui/assets/index-CxWOjjRu.js.gz +0 -0
- package/dist/ui/assets/{index-D_yKRJQj.js → index-DJLnZ-9H.js} +298 -282
- package/dist/ui/assets/index-DJLnZ-9H.js.gz +0 -0
- package/dist/ui/assets/{index-CKmdxjmm.js → index-DQn7RJ8z.js} +1 -1
- package/dist/ui/assets/index-DQn7RJ8z.js.gz +0 -0
- package/dist/ui/assets/{infoDiagram-ER5ION4S-CKv_e89I.js → infoDiagram-ER5ION4S-COpJ37pc.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-BYXSkKZr.js → journeyDiagram-XKPGCS4Q-CpODBkng.js} +1 -1
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CpODBkng.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-B4iIn-H8.js → kanban-definition-3W4ZIXB7-DWShJ5Su.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-DWShJ5Su.js.gz +0 -0
- package/dist/ui/assets/{layout-AQEby1op.js → layout-ttMTfXMb.js} +1 -1
- package/dist/ui/assets/layout-ttMTfXMb.js.gz +0 -0
- package/dist/ui/assets/{linear-BfcSxAMZ.js → linear-DD8VTncp.js} +1 -1
- package/dist/ui/assets/linear-DD8VTncp.js.gz +0 -0
- package/dist/ui/assets/{mermaid.core-DuEkBmyB.js → mermaid.core-BlvxruUX.js} +5 -5
- package/dist/ui/assets/mermaid.core-BlvxruUX.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-BBDWarB6.js → mindmap-definition-VGOIOE7T-CR0ESdqM.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-CR0ESdqM.js.gz +0 -0
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-EQSvb4cC.js → pieDiagram-ADFJNKIX-B94eVYhY.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-B94eVYhY.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-CpNlK4fQ.js → quadrantDiagram-AYHSOK5B-C4tNKfCm.js} +1 -1
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-C4tNKfCm.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-BPMaEFDA.js → requirementDiagram-UZGBJVZJ-CuG3A95Q.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-CuG3A95Q.js.gz +0 -0
- package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-BiceNoew.js → sankeyDiagram-TZEHDZUN-BCfc7mLC.js} +1 -1
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BCfc7mLC.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-CObp8n8B.js → sequenceDiagram-WL72ISMW-D8tVuIkx.js} +1 -1
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-D8tVuIkx.js.gz +0 -0
- package/dist/ui/assets/{stateDiagram-FKZM4ZOC-DKNE6dA2.js → stateDiagram-FKZM4ZOC-DvM8so2A.js} +1 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-DvM8so2A.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-kQ-gZX7K.js +1 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-DLXCiWgU.js → timeline-definition-IT6M3QCI-CP2O8vqw.js} +1 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CP2O8vqw.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-TaU-Vz5l.js → treemap-KMMF4GRG-SGJAEegj.js} +1 -1
- package/dist/ui/assets/{treemap-KMMF4GRG-TaU-Vz5l.js.gz → treemap-KMMF4GRG-SGJAEegj.js.gz} +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-ry-Xm_33.js → xychartDiagram-PRI3JC2R-CpwYBSmP.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-CpwYBSmP.js.gz +0 -0
- package/dist/ui/index.html +1 -1
- package/package.json +3 -2
- package/dist/ui/assets/_basePickBy-BtVrd6dO.js.gz +0 -0
- package/dist/ui/assets/_baseUniq-BH9GjWbF.js.gz +0 -0
- package/dist/ui/assets/arc-B4KDi1iJ.js.gz +0 -0
- package/dist/ui/assets/blockDiagram-VD42YOAC-B_mxl6Lf.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-Dx6ylHPl.js.gz +0 -0
- package/dist/ui/assets/channel-CIT8bfEt.js +0 -1
- package/dist/ui/assets/chunk-B4BG7PRW-FXlRD4Fw.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-DbBPQIQz.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-DdFLlZDV.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-CaaBDWvO.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CaaBDWvO.js +0 -1
- package/dist/ui/assets/clone-Dr8RgH2m.js +0 -1
- package/dist/ui/assets/consoleHook-59e792cb-Dz0DMm-0.js.gz +0 -0
- package/dist/ui/assets/cose-bilkent-S5V4N54A-tnhbVTPe.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-CVjnxYjN.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-CWFzevZb.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-T_J5IVCY.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-C4Dhp8jy.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-D8w2VOw6.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-BxDP6XJj.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-Cqm31nz1.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-49108Rzr.js.gz +0 -0
- package/dist/ui/assets/graph-Cl9WGtm3.js.gz +0 -0
- package/dist/ui/assets/index-599aeaf7-tGQYdGhA.js.gz +0 -0
- package/dist/ui/assets/index-CKmdxjmm.js.gz +0 -0
- package/dist/ui/assets/index-DUaptCU5.js.gz +0 -0
- package/dist/ui/assets/index-D_yKRJQj.js.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-BYXSkKZr.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-B4iIn-H8.js.gz +0 -0
- package/dist/ui/assets/layout-AQEby1op.js.gz +0 -0
- package/dist/ui/assets/linear-BfcSxAMZ.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-DuEkBmyB.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-BBDWarB6.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-EQSvb4cC.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-CpNlK4fQ.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-BPMaEFDA.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BiceNoew.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CObp8n8B.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-DKNE6dA2.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-fBA8Sge7.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-DLXCiWgU.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-ry-Xm_33.js.gz +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as _oclif_core_interfaces from '@oclif/core/interfaces';
|
|
2
|
+
import { Command } from '@oclif/core';
|
|
3
|
+
|
|
4
|
+
declare class DaemonSync extends Command {
|
|
5
|
+
static description: string;
|
|
6
|
+
static examples: string[];
|
|
7
|
+
static flags: {
|
|
8
|
+
'dry-run': _oclif_core_interfaces.BooleanFlag<boolean>;
|
|
9
|
+
config: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
private loadConfigFromPath;
|
|
13
|
+
private logCounts;
|
|
14
|
+
private syncRepos;
|
|
15
|
+
private syncWorktrees;
|
|
16
|
+
private syncUsers;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { DaemonSync as default };
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
// src/commands/daemon/sync.ts
|
|
2
|
+
import { existsSync, mkdirSync } from "fs";
|
|
3
|
+
import { join } from "path";
|
|
4
|
+
import {
|
|
5
|
+
buildSlugToRepoIdMap,
|
|
6
|
+
daemonResourcesConfigSchema,
|
|
7
|
+
determineRepoAction,
|
|
8
|
+
determineUserAction,
|
|
9
|
+
determineWorktreeAction,
|
|
10
|
+
getReposDir,
|
|
11
|
+
getWorktreePath,
|
|
12
|
+
loadConfig,
|
|
13
|
+
loadConfigFromFile,
|
|
14
|
+
resolvePassword,
|
|
15
|
+
validateResourceCrossReferences
|
|
16
|
+
} from "@agor/core/config";
|
|
17
|
+
import {
|
|
18
|
+
createDatabase,
|
|
19
|
+
getDatabaseUrl,
|
|
20
|
+
hash,
|
|
21
|
+
RepoRepository,
|
|
22
|
+
UsersRepository,
|
|
23
|
+
WorktreeRepository
|
|
24
|
+
} from "@agor/core/db";
|
|
25
|
+
import { autoAssignWorktreeUniqueId } from "@agor/core/environment/variable-resolver";
|
|
26
|
+
import { cloneRepo, createWorktree, getWorktreesDir } from "@agor/core/git";
|
|
27
|
+
import { Command, Flags } from "@oclif/core";
|
|
28
|
+
import chalk from "chalk";
|
|
29
|
+
var DaemonSync = class _DaemonSync extends Command {
|
|
30
|
+
static description = "Sync resources from config.yml into database and filesystem";
|
|
31
|
+
static examples = [
|
|
32
|
+
"<%= config.bin %> daemon sync",
|
|
33
|
+
"<%= config.bin %> daemon sync --dry-run",
|
|
34
|
+
"<%= config.bin %> daemon sync --config /path/to/config.yml"
|
|
35
|
+
];
|
|
36
|
+
static flags = {
|
|
37
|
+
"dry-run": Flags.boolean({
|
|
38
|
+
description: "Validate and report what would change without making changes",
|
|
39
|
+
default: false
|
|
40
|
+
}),
|
|
41
|
+
config: Flags.string({
|
|
42
|
+
char: "c",
|
|
43
|
+
description: "Path to config file (default: ~/.agor/config.yaml)"
|
|
44
|
+
})
|
|
45
|
+
};
|
|
46
|
+
async run() {
|
|
47
|
+
const { flags } = await this.parse(_DaemonSync);
|
|
48
|
+
const dryRun = flags["dry-run"];
|
|
49
|
+
const config = flags.config ? await this.loadConfigFromPath(flags.config) : await loadConfig();
|
|
50
|
+
if (!config.resources) {
|
|
51
|
+
this.log(chalk.yellow("No resources section in config \u2014 nothing to sync."));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const parseResult = daemonResourcesConfigSchema.safeParse(config.resources);
|
|
55
|
+
if (!parseResult.success) {
|
|
56
|
+
this.log(chalk.red("Config validation failed:"));
|
|
57
|
+
for (const issue of parseResult.error.issues) {
|
|
58
|
+
this.log(chalk.red(` ${issue.path.join(".")}: ${issue.message}`));
|
|
59
|
+
}
|
|
60
|
+
this.exit(1);
|
|
61
|
+
}
|
|
62
|
+
const resources = parseResult.data;
|
|
63
|
+
const crossRefErrors = validateResourceCrossReferences(resources);
|
|
64
|
+
if (crossRefErrors.length > 0) {
|
|
65
|
+
this.log(chalk.red("Resource cross-reference errors:"));
|
|
66
|
+
for (const err of crossRefErrors) {
|
|
67
|
+
this.log(chalk.red(` ${err.path}: ${err.message}`));
|
|
68
|
+
}
|
|
69
|
+
this.exit(1);
|
|
70
|
+
}
|
|
71
|
+
this.log(chalk.bold("Syncing resources from config..."));
|
|
72
|
+
if (dryRun) {
|
|
73
|
+
this.log(chalk.yellow("(dry-run mode \u2014 no changes will be made)"));
|
|
74
|
+
}
|
|
75
|
+
this.log("");
|
|
76
|
+
const dbUrl = getDatabaseUrl();
|
|
77
|
+
const db = createDatabase({ url: dbUrl });
|
|
78
|
+
const repoRepo = new RepoRepository(db);
|
|
79
|
+
const worktreeRepo = new WorktreeRepository(db);
|
|
80
|
+
const usersRepo = new UsersRepository(db);
|
|
81
|
+
const repoCounts = await this.syncRepos(resources.repos ?? [], repoRepo, dryRun);
|
|
82
|
+
const worktreeCounts = await this.syncWorktrees(
|
|
83
|
+
resources.worktrees ?? [],
|
|
84
|
+
resources.repos ?? [],
|
|
85
|
+
worktreeRepo,
|
|
86
|
+
dryRun
|
|
87
|
+
);
|
|
88
|
+
const userCounts = await this.syncUsers(resources.users ?? [], usersRepo, dryRun);
|
|
89
|
+
this.log("");
|
|
90
|
+
this.log(chalk.bold("Sync complete:"));
|
|
91
|
+
this.logCounts("Repos", repoCounts);
|
|
92
|
+
this.logCounts("Worktrees", worktreeCounts);
|
|
93
|
+
this.logCounts("Users", userCounts);
|
|
94
|
+
}
|
|
95
|
+
async loadConfigFromPath(configPath) {
|
|
96
|
+
try {
|
|
97
|
+
return await loadConfigFromFile(configPath);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
this.log(chalk.red(`Failed to load config from ${configPath}:`));
|
|
100
|
+
this.log(chalk.red(` ${error instanceof Error ? error.message : String(error)}`));
|
|
101
|
+
this.exit(1);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
logCounts(label, counts) {
|
|
105
|
+
const parts = [];
|
|
106
|
+
if (counts.created > 0) parts.push(chalk.green(`${counts.created} created`));
|
|
107
|
+
if (counts.updated > 0) parts.push(chalk.yellow(`${counts.updated} updated`));
|
|
108
|
+
if (counts.unchanged > 0) parts.push(chalk.dim(`${counts.unchanged} unchanged`));
|
|
109
|
+
this.log(` ${label}: ${parts.length > 0 ? parts.join(", ") : chalk.dim("none declared")}`);
|
|
110
|
+
}
|
|
111
|
+
// ---------------------------------------------------------------------------
|
|
112
|
+
// Repo sync
|
|
113
|
+
// ---------------------------------------------------------------------------
|
|
114
|
+
async syncRepos(repos, repoRepo, dryRun) {
|
|
115
|
+
const counts = { created: 0, updated: 0, unchanged: 0 };
|
|
116
|
+
for (const repoCfg of repos) {
|
|
117
|
+
const existing = await repoRepo.findBySlug(repoCfg.slug);
|
|
118
|
+
const repoPath = join(getReposDir(), repoCfg.slug);
|
|
119
|
+
const fsExists = existsSync(repoPath);
|
|
120
|
+
const action = determineRepoAction(repoCfg, existing);
|
|
121
|
+
if (action === "create") {
|
|
122
|
+
this.log(` ${chalk.green("create")} repo ${chalk.cyan(repoCfg.slug)}`);
|
|
123
|
+
if (!dryRun) {
|
|
124
|
+
if (repoCfg.remote_url) {
|
|
125
|
+
mkdirSync(getReposDir(), { recursive: true });
|
|
126
|
+
await cloneRepo({ url: repoCfg.remote_url, targetDir: repoPath });
|
|
127
|
+
}
|
|
128
|
+
await repoRepo.create({
|
|
129
|
+
repo_id: repoCfg.repo_id,
|
|
130
|
+
slug: repoCfg.slug,
|
|
131
|
+
name: repoCfg.slug,
|
|
132
|
+
repo_type: repoCfg.repo_type ?? "remote",
|
|
133
|
+
remote_url: repoCfg.remote_url,
|
|
134
|
+
default_branch: repoCfg.default_branch ?? "main",
|
|
135
|
+
local_path: repoPath
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
counts.created++;
|
|
139
|
+
} else if (action === "update") {
|
|
140
|
+
this.log(` ${chalk.yellow("update")} repo ${chalk.cyan(repoCfg.slug)}`);
|
|
141
|
+
if (!dryRun && existing) {
|
|
142
|
+
await repoRepo.update(existing.repo_id, {
|
|
143
|
+
remote_url: repoCfg.remote_url ?? existing.remote_url,
|
|
144
|
+
default_branch: repoCfg.default_branch ?? existing.default_branch
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
counts.updated++;
|
|
148
|
+
} else {
|
|
149
|
+
counts.unchanged++;
|
|
150
|
+
}
|
|
151
|
+
if (existing && !fsExists && repoCfg.remote_url && !dryRun) {
|
|
152
|
+
this.log(` ${chalk.green("clone")} repo ${chalk.cyan(repoCfg.slug)} (filesystem missing)`);
|
|
153
|
+
mkdirSync(getReposDir(), { recursive: true });
|
|
154
|
+
await cloneRepo({ url: repoCfg.remote_url, targetDir: repoPath });
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return counts;
|
|
158
|
+
}
|
|
159
|
+
// ---------------------------------------------------------------------------
|
|
160
|
+
// Worktree sync
|
|
161
|
+
// ---------------------------------------------------------------------------
|
|
162
|
+
async syncWorktrees(worktrees, repos, worktreeRepo, dryRun) {
|
|
163
|
+
const counts = { created: 0, updated: 0, unchanged: 0 };
|
|
164
|
+
const slugToId = buildSlugToRepoIdMap(repos);
|
|
165
|
+
for (const wtCfg of worktrees) {
|
|
166
|
+
const repoId = slugToId.get(wtCfg.repo);
|
|
167
|
+
if (!repoId) {
|
|
168
|
+
this.log(chalk.red(` skip worktree "${wtCfg.name}" \u2014 repo "${wtCfg.repo}" not found`));
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const existing = await worktreeRepo.findByRepoAndName(repoId, wtCfg.name);
|
|
172
|
+
const action = determineWorktreeAction(wtCfg, existing);
|
|
173
|
+
if (action === "create") {
|
|
174
|
+
this.log(
|
|
175
|
+
` ${chalk.green("create")} worktree ${chalk.cyan(`${wtCfg.repo}/${wtCfg.name}`)}`
|
|
176
|
+
);
|
|
177
|
+
if (!dryRun) {
|
|
178
|
+
const repoPath = join(getReposDir(), wtCfg.repo);
|
|
179
|
+
const worktreePath = getWorktreePath(wtCfg.repo, wtCfg.name);
|
|
180
|
+
if (!existsSync(worktreePath)) {
|
|
181
|
+
mkdirSync(join(getWorktreesDir(), wtCfg.repo), { recursive: true });
|
|
182
|
+
await createWorktree(
|
|
183
|
+
repoPath,
|
|
184
|
+
worktreePath,
|
|
185
|
+
wtCfg.ref,
|
|
186
|
+
false,
|
|
187
|
+
false,
|
|
188
|
+
void 0,
|
|
189
|
+
void 0,
|
|
190
|
+
wtCfg.ref_type
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
const usedIds = await worktreeRepo.getAllUsedUniqueIds();
|
|
194
|
+
const nextId = autoAssignWorktreeUniqueId(usedIds);
|
|
195
|
+
await worktreeRepo.create({
|
|
196
|
+
worktree_id: wtCfg.worktree_id,
|
|
197
|
+
repo_id: repoId,
|
|
198
|
+
name: wtCfg.name,
|
|
199
|
+
ref: wtCfg.ref,
|
|
200
|
+
ref_type: wtCfg.ref_type ?? "branch",
|
|
201
|
+
path: worktreePath,
|
|
202
|
+
worktree_unique_id: nextId,
|
|
203
|
+
others_can: wtCfg.others_can ?? "session",
|
|
204
|
+
mcp_server_ids: wtCfg.mcp_server_ids,
|
|
205
|
+
new_branch: false,
|
|
206
|
+
last_used: (/* @__PURE__ */ new Date()).toISOString()
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
counts.created++;
|
|
210
|
+
} else if (action === "update") {
|
|
211
|
+
this.log(
|
|
212
|
+
` ${chalk.yellow("update")} worktree ${chalk.cyan(`${wtCfg.repo}/${wtCfg.name}`)}`
|
|
213
|
+
);
|
|
214
|
+
if (!dryRun && existing) {
|
|
215
|
+
await worktreeRepo.update(existing.worktree_id, {
|
|
216
|
+
ref: wtCfg.ref,
|
|
217
|
+
ref_type: wtCfg.ref_type ?? existing.ref_type,
|
|
218
|
+
others_can: wtCfg.others_can ?? existing.others_can,
|
|
219
|
+
mcp_server_ids: wtCfg.mcp_server_ids ?? existing.mcp_server_ids
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
counts.updated++;
|
|
223
|
+
} else {
|
|
224
|
+
counts.unchanged++;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return counts;
|
|
228
|
+
}
|
|
229
|
+
// ---------------------------------------------------------------------------
|
|
230
|
+
// User sync
|
|
231
|
+
// ---------------------------------------------------------------------------
|
|
232
|
+
async syncUsers(users, usersRepo, dryRun) {
|
|
233
|
+
const counts = { created: 0, updated: 0, unchanged: 0 };
|
|
234
|
+
for (const userCfg of users) {
|
|
235
|
+
const existing = await usersRepo.findByEmail(userCfg.email);
|
|
236
|
+
const action = determineUserAction(userCfg, existing);
|
|
237
|
+
if (action === "create") {
|
|
238
|
+
this.log(` ${chalk.green("create")} user ${chalk.cyan(userCfg.email)}`);
|
|
239
|
+
if (!dryRun) {
|
|
240
|
+
const resolved = resolvePassword(userCfg.password);
|
|
241
|
+
if (resolved.mustChange) {
|
|
242
|
+
this.log(
|
|
243
|
+
` ${chalk.dim("generated temporary password for")} ${userCfg.email}: ${chalk.yellow(resolved.password)}`
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
const hashedPassword = await hash(resolved.password, 12);
|
|
247
|
+
await usersRepo.create({
|
|
248
|
+
user_id: userCfg.user_id,
|
|
249
|
+
email: userCfg.email,
|
|
250
|
+
name: userCfg.name,
|
|
251
|
+
role: userCfg.role ?? "member",
|
|
252
|
+
unix_username: userCfg.unix_username,
|
|
253
|
+
password: hashedPassword,
|
|
254
|
+
must_change_password: resolved.mustChange
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
counts.created++;
|
|
258
|
+
} else if (action === "update") {
|
|
259
|
+
this.log(` ${chalk.yellow("update")} user ${chalk.cyan(userCfg.email)}`);
|
|
260
|
+
if (!dryRun && existing) {
|
|
261
|
+
await usersRepo.update(existing.user_id, {
|
|
262
|
+
name: userCfg.name ?? existing.name,
|
|
263
|
+
role: userCfg.role ?? existing.role,
|
|
264
|
+
unix_username: userCfg.unix_username ?? existing.unix_username
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
counts.updated++;
|
|
268
|
+
} else {
|
|
269
|
+
counts.unchanged++;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return counts;
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
export {
|
|
276
|
+
DaemonSync as default
|
|
277
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as AgenticToolID } from './id-
|
|
1
|
+
import { A as AgenticToolID } from './id-Cv3ntaTJ.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Agentic coding tool names
|
|
@@ -106,5 +106,24 @@ type CodexNetworkAccess = boolean;
|
|
|
106
106
|
* - bypassPermissions: Auto-approve everything (equivalent to approveAll helper)
|
|
107
107
|
*/
|
|
108
108
|
type CopilotPermissionMode = 'default' | 'acceptEdits' | 'bypassPermissions';
|
|
109
|
+
/**
|
|
110
|
+
* Static capability flags for agentic tools.
|
|
111
|
+
* Used by the UI to show/hide features based on what a tool supports.
|
|
112
|
+
* Mirrors the runtime ToolCapabilities in the executor but is available
|
|
113
|
+
* without instantiating a tool.
|
|
114
|
+
*/
|
|
115
|
+
interface AgenticToolCapabilities {
|
|
116
|
+
/** Can fork sessions (branch conversation at a decision point) */
|
|
117
|
+
supportsSessionFork: boolean;
|
|
118
|
+
/** Can spawn child sessions for subsessions */
|
|
119
|
+
supportsChildSpawn: boolean;
|
|
120
|
+
/** Can import historical sessions from tool's storage */
|
|
121
|
+
supportsSessionImport: boolean;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Static capability map for all agentic tools.
|
|
125
|
+
* Source of truth for what each tool supports — avoids scattered `if (tool === 'codex')` checks.
|
|
126
|
+
*/
|
|
127
|
+
declare const AGENTIC_TOOL_CAPABILITIES: Record<AgenticToolName, AgenticToolCapabilities>;
|
|
109
128
|
|
|
110
|
-
export type
|
|
129
|
+
export { type AgenticToolName as A, type ClaudeCodePermissionMode as C, type GeminiPermissionMode as G, type OpenCodePermissionMode as O, type CodexPermissionMode as a, type AgenticTool as b, type CodexSandboxMode as c, type CodexApprovalPolicy as d, type CodexNetworkAccess as e, type CopilotPermissionMode as f, type AgenticToolCapabilities as g, AGENTIC_TOOL_CAPABILITIES as h };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as AgenticToolID } from './id-
|
|
1
|
+
import { A as AgenticToolID } from './id-Cv3ntaTJ.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Agentic coding tool names
|
|
@@ -106,5 +106,24 @@ type CodexNetworkAccess = boolean;
|
|
|
106
106
|
* - bypassPermissions: Auto-approve everything (equivalent to approveAll helper)
|
|
107
107
|
*/
|
|
108
108
|
type CopilotPermissionMode = 'default' | 'acceptEdits' | 'bypassPermissions';
|
|
109
|
+
/**
|
|
110
|
+
* Static capability flags for agentic tools.
|
|
111
|
+
* Used by the UI to show/hide features based on what a tool supports.
|
|
112
|
+
* Mirrors the runtime ToolCapabilities in the executor but is available
|
|
113
|
+
* without instantiating a tool.
|
|
114
|
+
*/
|
|
115
|
+
interface AgenticToolCapabilities {
|
|
116
|
+
/** Can fork sessions (branch conversation at a decision point) */
|
|
117
|
+
supportsSessionFork: boolean;
|
|
118
|
+
/** Can spawn child sessions for subsessions */
|
|
119
|
+
supportsChildSpawn: boolean;
|
|
120
|
+
/** Can import historical sessions from tool's storage */
|
|
121
|
+
supportsSessionImport: boolean;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Static capability map for all agentic tools.
|
|
125
|
+
* Source of truth for what each tool supports — avoids scattered `if (tool === 'codex')` checks.
|
|
126
|
+
*/
|
|
127
|
+
declare const AGENTIC_TOOL_CAPABILITIES: Record<AgenticToolName, AgenticToolCapabilities>;
|
|
109
128
|
|
|
110
|
-
export type
|
|
129
|
+
export { type AgenticToolName as A, type ClaudeCodePermissionMode as C, type GeminiPermissionMode as G, type OpenCodePermissionMode as O, type CodexPermissionMode as a, type AgenticTool as b, type CodexSandboxMode as c, type CodexApprovalPolicy as d, type CodexNetworkAccess as e, type CopilotPermissionMode as f, type AgenticToolCapabilities as g, AGENTIC_TOOL_CAPABILITIES as h };
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { i as Message } from '../message-
|
|
2
|
-
import { a as Artifact } from '../artifact-
|
|
3
|
-
import {
|
|
1
|
+
import { i as Message } from '../message-CbD99EwO.cjs';
|
|
2
|
+
import { a as Artifact } from '../artifact-Bi-1jifF.cjs';
|
|
3
|
+
import { h as Board, m as CardWithType, k as CardType, i as BoardExportBlob } from '../board-CPZGf5wF.cjs';
|
|
4
|
+
import { b as Repo, d as Worktree } from '../repo-CcvhnJDf.cjs';
|
|
5
|
+
import { a as Session } from '../session-DEU5FS0N.cjs';
|
|
6
|
+
import { d as User } from '../user-BpKIlt04.cjs';
|
|
4
7
|
import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.cjs';
|
|
5
|
-
import { b as AuthenticationResult } from '../feathers-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { i as MCPServer } from '../mcp-DmSz5NtX.cjs';
|
|
9
|
-
import { b as Repo, d as Worktree } from '../worktree-DQ1rsBlH.cjs';
|
|
10
|
-
import { c as Task } from '../task-Cobwzp1Z.cjs';
|
|
8
|
+
import { b as AuthenticationResult } from '../feathers-CYAHFZ05.cjs';
|
|
9
|
+
import { i as MCPServer } from '../mcp-CtC1DFEm.cjs';
|
|
10
|
+
import { c as Task } from '../task-DCPYEXlG.cjs';
|
|
11
11
|
import { Params, Paginated, Application } from '@feathersjs/feathers';
|
|
12
12
|
import { Socket } from 'socket.io-client';
|
|
13
13
|
export { default as authenticationClient } from '@feathersjs/authentication-client';
|
|
14
|
-
import '../id-
|
|
15
|
-
import '../agentic-tool-
|
|
14
|
+
import '../id-Cv3ntaTJ.cjs';
|
|
15
|
+
import '../agentic-tool-3oiAj9Lg.cjs';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Feathers Client for Agor
|
package/dist/core/api/index.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { i as Message } from '../message-
|
|
2
|
-
import { a as Artifact } from '../artifact-
|
|
3
|
-
import {
|
|
1
|
+
import { i as Message } from '../message-Cwhx2ItQ.js';
|
|
2
|
+
import { a as Artifact } from '../artifact-B5MFR79G.js';
|
|
3
|
+
import { h as Board, m as CardWithType, k as CardType, i as BoardExportBlob } from '../board-B9Xnux_i.js';
|
|
4
|
+
import { b as Repo, d as Worktree } from '../repo-j12tCmyK.js';
|
|
5
|
+
import { a as Session } from '../session-Bw8_FN2l.js';
|
|
6
|
+
import { d as User } from '../user-pO3lB_da.js';
|
|
4
7
|
import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.js';
|
|
5
|
-
import { b as AuthenticationResult } from '../feathers-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { i as MCPServer } from '../mcp-eYAM1JQj.js';
|
|
9
|
-
import { b as Repo, d as Worktree } from '../worktree-CbBATC-0.js';
|
|
10
|
-
import { c as Task } from '../task-C_4XIEFP.js';
|
|
8
|
+
import { b as AuthenticationResult } from '../feathers-CzuSOZgY.js';
|
|
9
|
+
import { i as MCPServer } from '../mcp-VhU-PMHo.js';
|
|
10
|
+
import { c as Task } from '../task-CKHC1gPj.js';
|
|
11
11
|
import { Params, Paginated, Application } from '@feathersjs/feathers';
|
|
12
12
|
import { Socket } from 'socket.io-client';
|
|
13
13
|
export { default as authenticationClient } from '@feathersjs/authentication-client';
|
|
14
|
-
import '../id-
|
|
15
|
-
import '../agentic-tool-
|
|
14
|
+
import '../id-Cv3ntaTJ.js';
|
|
15
|
+
import '../agentic-tool-1L19ixPC.js';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Feathers Client for Agor
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { S as SandpackTemplate } from './board-
|
|
2
|
-
import {
|
|
1
|
+
import { S as SandpackTemplate } from './board-B9Xnux_i.js';
|
|
2
|
+
import { d as ArtifactID, W as WorktreeID, B as BoardID } from './id-Cv3ntaTJ.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Artifact Type Definitions
|
|
6
6
|
*
|
|
7
|
-
* Artifacts are live web applications rendered via Sandpack
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Artifacts are board-scoped, DB-backed live web applications rendered via Sandpack.
|
|
8
|
+
* The filesystem folder is a transient staging area; on publish, the daemon serializes
|
|
9
|
+
* folder contents into the DB `files` column. Serving reads from DB only.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -16,21 +16,21 @@ type ArtifactBuildStatus = 'unknown' | 'checking' | 'success' | 'error';
|
|
|
16
16
|
/**
|
|
17
17
|
* Artifact - Live web application rendered via Sandpack on the board canvas
|
|
18
18
|
*
|
|
19
|
-
* Artifacts are
|
|
20
|
-
*
|
|
19
|
+
* Artifacts are board-scoped, DB-backed objects. The `files` column holds the
|
|
20
|
+
* serialized source code. `worktree_id` and `path` are provenance only.
|
|
21
21
|
*/
|
|
22
22
|
interface Artifact {
|
|
23
23
|
artifact_id: ArtifactID;
|
|
24
|
-
/** Worktree
|
|
25
|
-
worktree_id: WorktreeID;
|
|
24
|
+
/** Worktree provenance (nullable — survives worktree deletion via SET NULL) */
|
|
25
|
+
worktree_id: WorktreeID | null;
|
|
26
26
|
/** Board this artifact is displayed on */
|
|
27
27
|
board_id: BoardID;
|
|
28
28
|
/** Display name */
|
|
29
29
|
name: string;
|
|
30
30
|
/** Optional description */
|
|
31
31
|
description?: string;
|
|
32
|
-
/**
|
|
33
|
-
path: string;
|
|
32
|
+
/** Provenance path — where files were read from (nullable) */
|
|
33
|
+
path: string | null;
|
|
34
34
|
/** Sandpack template */
|
|
35
35
|
template: SandpackTemplate;
|
|
36
36
|
/** Current build status */
|
|
@@ -39,6 +39,16 @@ interface Artifact {
|
|
|
39
39
|
build_errors?: string[];
|
|
40
40
|
/** Content hash for cache invalidation (MD5 of sorted file contents) */
|
|
41
41
|
content_hash?: string;
|
|
42
|
+
/** Serialized file contents: path -> code. Null for legacy records not yet re-published. */
|
|
43
|
+
files?: Record<string, string>;
|
|
44
|
+
/** NPM dependencies from manifest */
|
|
45
|
+
dependencies?: Record<string, string>;
|
|
46
|
+
/** Entry file from manifest */
|
|
47
|
+
entry?: string;
|
|
48
|
+
/** Use self-hosted Sandpack bundler */
|
|
49
|
+
use_local_bundler?: boolean;
|
|
50
|
+
/** Whether this artifact is visible to all board viewers */
|
|
51
|
+
public: boolean;
|
|
42
52
|
/** User who created this artifact */
|
|
43
53
|
created_by?: string;
|
|
44
54
|
created_at: string;
|
|
@@ -57,6 +67,14 @@ interface SandpackManifest {
|
|
|
57
67
|
dependencies?: Record<string, string>;
|
|
58
68
|
/** Entry file path */
|
|
59
69
|
entry?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Opt into the daemon's self-hosted Sandpack bundler instead of CodeSandbox's
|
|
72
|
+
* default hosted bundler. Stores intent rather than a concrete URL so the
|
|
73
|
+
* artifact keeps working if the daemon's origin changes. Resolved to the
|
|
74
|
+
* daemon's selfHostedBundlerURL at payload read time. If the local bundler
|
|
75
|
+
* is not available at read time, falls back silently to the hosted bundler.
|
|
76
|
+
*/
|
|
77
|
+
use_local_bundler?: boolean;
|
|
60
78
|
}
|
|
61
79
|
/**
|
|
62
80
|
* Artifact payload served to frontend via REST
|
|
@@ -74,6 +92,8 @@ interface ArtifactPayload {
|
|
|
74
92
|
content_hash: string;
|
|
75
93
|
/** Env vars referenced in agor.config.js that the requesting user hasn't configured */
|
|
76
94
|
missing_env_vars?: string[];
|
|
95
|
+
/** Custom Sandpack bundler URL. Set when self-hosted bundler is available or specified in manifest. */
|
|
96
|
+
bundlerURL?: string;
|
|
77
97
|
}
|
|
78
98
|
/**
|
|
79
99
|
* Console log entry from Sandpack runtime (captured in browser, sent to daemon)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { S as SandpackTemplate } from './board-
|
|
2
|
-
import {
|
|
1
|
+
import { S as SandpackTemplate } from './board-CPZGf5wF.cjs';
|
|
2
|
+
import { d as ArtifactID, W as WorktreeID, B as BoardID } from './id-Cv3ntaTJ.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Artifact Type Definitions
|
|
6
6
|
*
|
|
7
|
-
* Artifacts are live web applications rendered via Sandpack
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Artifacts are board-scoped, DB-backed live web applications rendered via Sandpack.
|
|
8
|
+
* The filesystem folder is a transient staging area; on publish, the daemon serializes
|
|
9
|
+
* folder contents into the DB `files` column. Serving reads from DB only.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -16,21 +16,21 @@ type ArtifactBuildStatus = 'unknown' | 'checking' | 'success' | 'error';
|
|
|
16
16
|
/**
|
|
17
17
|
* Artifact - Live web application rendered via Sandpack on the board canvas
|
|
18
18
|
*
|
|
19
|
-
* Artifacts are
|
|
20
|
-
*
|
|
19
|
+
* Artifacts are board-scoped, DB-backed objects. The `files` column holds the
|
|
20
|
+
* serialized source code. `worktree_id` and `path` are provenance only.
|
|
21
21
|
*/
|
|
22
22
|
interface Artifact {
|
|
23
23
|
artifact_id: ArtifactID;
|
|
24
|
-
/** Worktree
|
|
25
|
-
worktree_id: WorktreeID;
|
|
24
|
+
/** Worktree provenance (nullable — survives worktree deletion via SET NULL) */
|
|
25
|
+
worktree_id: WorktreeID | null;
|
|
26
26
|
/** Board this artifact is displayed on */
|
|
27
27
|
board_id: BoardID;
|
|
28
28
|
/** Display name */
|
|
29
29
|
name: string;
|
|
30
30
|
/** Optional description */
|
|
31
31
|
description?: string;
|
|
32
|
-
/**
|
|
33
|
-
path: string;
|
|
32
|
+
/** Provenance path — where files were read from (nullable) */
|
|
33
|
+
path: string | null;
|
|
34
34
|
/** Sandpack template */
|
|
35
35
|
template: SandpackTemplate;
|
|
36
36
|
/** Current build status */
|
|
@@ -39,6 +39,16 @@ interface Artifact {
|
|
|
39
39
|
build_errors?: string[];
|
|
40
40
|
/** Content hash for cache invalidation (MD5 of sorted file contents) */
|
|
41
41
|
content_hash?: string;
|
|
42
|
+
/** Serialized file contents: path -> code. Null for legacy records not yet re-published. */
|
|
43
|
+
files?: Record<string, string>;
|
|
44
|
+
/** NPM dependencies from manifest */
|
|
45
|
+
dependencies?: Record<string, string>;
|
|
46
|
+
/** Entry file from manifest */
|
|
47
|
+
entry?: string;
|
|
48
|
+
/** Use self-hosted Sandpack bundler */
|
|
49
|
+
use_local_bundler?: boolean;
|
|
50
|
+
/** Whether this artifact is visible to all board viewers */
|
|
51
|
+
public: boolean;
|
|
42
52
|
/** User who created this artifact */
|
|
43
53
|
created_by?: string;
|
|
44
54
|
created_at: string;
|
|
@@ -57,6 +67,14 @@ interface SandpackManifest {
|
|
|
57
67
|
dependencies?: Record<string, string>;
|
|
58
68
|
/** Entry file path */
|
|
59
69
|
entry?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Opt into the daemon's self-hosted Sandpack bundler instead of CodeSandbox's
|
|
72
|
+
* default hosted bundler. Stores intent rather than a concrete URL so the
|
|
73
|
+
* artifact keeps working if the daemon's origin changes. Resolved to the
|
|
74
|
+
* daemon's selfHostedBundlerURL at payload read time. If the local bundler
|
|
75
|
+
* is not available at read time, falls back silently to the hosted bundler.
|
|
76
|
+
*/
|
|
77
|
+
use_local_bundler?: boolean;
|
|
60
78
|
}
|
|
61
79
|
/**
|
|
62
80
|
* Artifact payload served to frontend via REST
|
|
@@ -74,6 +92,8 @@ interface ArtifactPayload {
|
|
|
74
92
|
content_hash: string;
|
|
75
93
|
/** Env vars referenced in agor.config.js that the requesting user hasn't configured */
|
|
76
94
|
missing_env_vars?: string[];
|
|
95
|
+
/** Custom Sandpack bundler URL. Set when self-hosted bundler is available or specified in manifest. */
|
|
96
|
+
bundlerURL?: string;
|
|
77
97
|
}
|
|
78
98
|
/**
|
|
79
99
|
* Console log entry from Sandpack runtime (captured in browser, sent to daemon)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AgenticToolName } from './agentic-tool-
|
|
2
|
-
import { U as UUID, B as BoardID,
|
|
1
|
+
import { A as AgenticToolName } from './agentic-tool-1L19ixPC.js';
|
|
2
|
+
import { U as UUID, B as BoardID, d as ArtifactID, W as WorktreeID } from './id-Cv3ntaTJ.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Card identifier
|
|
@@ -75,6 +75,13 @@ interface CardWithType extends Card {
|
|
|
75
75
|
effective_color?: string;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Canvas position (x/y coordinates in board space)
|
|
80
|
+
*/
|
|
81
|
+
type BoardPosition = {
|
|
82
|
+
x: number;
|
|
83
|
+
y: number;
|
|
84
|
+
};
|
|
78
85
|
/**
|
|
79
86
|
* Board object types for canvas annotations
|
|
80
87
|
*/
|
|
@@ -101,10 +108,7 @@ interface BoardEntityObject {
|
|
|
101
108
|
/** Computed entity type discriminator */
|
|
102
109
|
entity_type: BoardEntityType;
|
|
103
110
|
/** Position on canvas */
|
|
104
|
-
position:
|
|
105
|
-
x: number;
|
|
106
|
-
y: number;
|
|
107
|
-
};
|
|
111
|
+
position: BoardPosition;
|
|
108
112
|
/** Zone this entity is pinned to (optional) */
|
|
109
113
|
zone_id?: string;
|
|
110
114
|
/** When this entity was added to the board */
|
|
@@ -317,4 +321,4 @@ interface BoardExportBlob {
|
|
|
317
321
|
custom_context?: Record<string, unknown>;
|
|
318
322
|
}
|
|
319
323
|
|
|
320
|
-
export type { AppBoardObject as A,
|
|
324
|
+
export type { AppBoardObject as A, BoardPosition as B, CardID as C, MarkdownBoardObject as M, SandpackTemplate as S, TextBoardObject as T, ZoneTriggerBehavior as Z, BoardObjectType as a, BoardEntityType as b, BoardEntityObject as c, ZoneTrigger as d, ZoneBoardObject as e, ArtifactBoardObject as f, BoardObject as g, Board as h, BoardExportBlob as i, CardTypeID as j, CardType as k, Card as l, CardWithType as m };
|