agor-live 0.12.2 → 0.12.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/core/api/index.d.cts +4 -4
- package/dist/core/api/index.d.ts +4 -4
- package/dist/core/{board-DCNkcsyf.d.cts → board-ByCag4EG.d.cts} +8 -1
- package/dist/core/{board-C-PU8jok.d.ts → board-CZuyMRpr.d.ts} +8 -1
- package/dist/core/claude/index.cjs +46 -5
- package/dist/core/claude/index.js +51 -21
- package/dist/core/{client-CGO13BG6.d.ts → client-BoLj-jqT.d.ts} +30 -5
- package/dist/core/{client-DKbFqX_X.d.cts → client-gnSCmSyL.d.cts} +30 -5
- package/dist/core/config/browser.d.cts +1 -1
- package/dist/core/config/browser.d.ts +1 -1
- package/dist/core/config/index.cjs +60 -4
- package/dist/core/config/index.d.cts +6 -5
- package/dist/core/config/index.d.ts +6 -5
- package/dist/core/config/index.js +64 -20
- package/dist/core/{config-manager-DGBdhxtZ.d.ts → config-manager-BLDGbZHT.d.ts} +16 -2
- package/dist/core/{config-manager-sCgziLkz.d.cts → config-manager-CsBk-Rh2.d.cts} +16 -2
- package/dist/core/db/index.cjs +332 -60
- package/dist/core/db/index.d.cts +33 -7
- package/dist/core/db/index.d.ts +33 -7
- package/dist/core/db/index.js +338 -77
- package/dist/core/drizzle/postgres/meta/_journal.json +1 -1
- package/dist/core/drizzle/sqlite/meta/_journal.json +1 -1
- package/dist/core/{feathers-B0zjReEk.d.ts → feathers-CYMJeMWB.d.ts} +1 -1
- package/dist/core/{feathers-C1uChqXy.d.cts → feathers-Cyk1lpAM.d.cts} +1 -1
- package/dist/core/gateway/index.cjs +137 -12
- package/dist/core/gateway/index.d.cts +22 -6
- package/dist/core/gateway/index.d.ts +22 -6
- package/dist/core/gateway/index.js +137 -12
- package/dist/core/{gateway-Dy9fVyiS.d.ts → gateway-B4CaePYV.d.ts} +2 -2
- package/dist/core/{gateway-DGNtjRnd.d.cts → gateway-C2NOdrxu.d.cts} +2 -2
- package/dist/core/git/index.d.cts +2 -2
- package/dist/core/git/index.d.ts +2 -2
- package/dist/core/index.cjs +226 -48
- package/dist/core/index.d.cts +8 -8
- package/dist/core/index.d.ts +8 -8
- package/dist/core/index.js +230 -64
- package/dist/core/mcp/index.cjs +24 -2
- package/dist/core/mcp/index.js +26 -4
- package/dist/core/seed/index.cjs +83 -13
- package/dist/core/seed/index.js +88 -29
- package/dist/core/{session-Bt9i9089.d.cts → session-BJbTzw3y.d.cts} +17 -1
- package/dist/core/{session-Da9rf6n5.d.ts → session-DLVkt-jY.d.ts} +17 -1
- package/dist/core/templates/session-context.d.cts +1 -1
- package/dist/core/templates/session-context.d.ts +1 -1
- package/dist/core/types/index.d.cts +6 -6
- package/dist/core/types/index.d.ts +6 -6
- package/dist/core/{types-D_wAaaE3.d.cts → types-Ddri21rw.d.cts} +18 -0
- package/dist/core/{types-D_wAaaE3.d.ts → types-Ddri21rw.d.ts} +18 -0
- package/dist/core/unix/index.cjs +63 -6
- package/dist/core/unix/index.d.cts +4 -3
- package/dist/core/unix/index.d.ts +4 -3
- package/dist/core/unix/index.js +68 -22
- package/dist/core/{user-DT1Qzfep.d.ts → user-B77oCF14.d.ts} +1 -1
- package/dist/core/{user-C5id0Zhj.d.cts → user-LBRon9n1.d.cts} +1 -1
- package/dist/core/utils/permission-mode-mapper.d.cts +1 -1
- package/dist/core/utils/permission-mode-mapper.d.ts +1 -1
- package/dist/core/utils/url.cjs +22 -0
- package/dist/core/utils/url.d.cts +45 -1
- package/dist/core/utils/url.d.ts +45 -1
- package/dist/core/utils/url.js +18 -0
- package/dist/daemon/index.js +168 -38
- package/dist/daemon/mcp/routes.js +5 -5
- package/dist/daemon/services/gateway.d.ts +9 -0
- package/dist/daemon/services/gateway.js +73 -6
- package/dist/daemon/services/repos.js +1 -0
- package/dist/daemon/services/thread-session-map.d.ts +6 -0
- package/dist/daemon/services/thread-session-map.js +9 -0
- package/dist/executor/cli.d.ts +0 -0
- package/dist/executor/cli.d.ts.map +0 -0
- package/dist/executor/cli.js +0 -0
- package/dist/executor/commands/git.d.ts +0 -0
- package/dist/executor/commands/git.d.ts.map +1 -1
- package/dist/executor/commands/git.js +3 -2
- package/dist/executor/commands/index.d.ts +0 -0
- package/dist/executor/commands/index.d.ts.map +0 -0
- package/dist/executor/commands/index.js +0 -0
- package/dist/executor/commands/unix.d.ts +0 -0
- package/dist/executor/commands/unix.d.ts.map +0 -0
- package/dist/executor/commands/unix.js +0 -0
- package/dist/executor/commands/zellij.d.ts +0 -0
- package/dist/executor/commands/zellij.d.ts.map +0 -0
- package/dist/executor/commands/zellij.js +0 -0
- package/dist/executor/config.d.ts +0 -0
- package/dist/executor/config.d.ts.map +0 -0
- package/dist/executor/config.js +0 -0
- package/dist/executor/db/feathers-repositories.d.ts +0 -0
- package/dist/executor/db/feathers-repositories.d.ts.map +0 -0
- package/dist/executor/db/feathers-repositories.js +0 -0
- package/dist/executor/handlers/sdk/base-executor.d.ts +0 -0
- package/dist/executor/handlers/sdk/base-executor.d.ts.map +0 -0
- package/dist/executor/handlers/sdk/base-executor.js +0 -0
- package/dist/executor/handlers/sdk/claude.d.ts +0 -0
- package/dist/executor/handlers/sdk/claude.d.ts.map +0 -0
- package/dist/executor/handlers/sdk/claude.js +0 -0
- package/dist/executor/handlers/sdk/codex.d.ts +0 -0
- package/dist/executor/handlers/sdk/codex.d.ts.map +0 -0
- package/dist/executor/handlers/sdk/codex.js +0 -0
- package/dist/executor/handlers/sdk/gemini.d.ts +0 -0
- package/dist/executor/handlers/sdk/gemini.d.ts.map +0 -0
- package/dist/executor/handlers/sdk/gemini.js +0 -0
- package/dist/executor/handlers/sdk/opencode.d.ts +0 -0
- package/dist/executor/handlers/sdk/opencode.d.ts.map +0 -0
- package/dist/executor/handlers/sdk/opencode.js +0 -0
- package/dist/executor/handlers/sdk/tool-registry.d.ts +0 -0
- package/dist/executor/handlers/sdk/tool-registry.d.ts.map +0 -0
- package/dist/executor/handlers/sdk/tool-registry.js +0 -0
- package/dist/executor/index.d.ts +0 -0
- package/dist/executor/index.d.ts.map +0 -0
- package/dist/executor/index.js +0 -0
- package/dist/executor/payload-types.d.ts +8 -0
- package/dist/executor/payload-types.d.ts.map +1 -1
- package/dist/executor/payload-types.js +2 -0
- package/dist/executor/permissions/permission-manager.d.ts +0 -0
- package/dist/executor/permissions/permission-manager.d.ts.map +0 -0
- package/dist/executor/permissions/permission-manager.js +0 -0
- package/dist/executor/permissions/permission-service.d.ts +0 -0
- package/dist/executor/permissions/permission-service.d.ts.map +0 -0
- package/dist/executor/permissions/permission-service.js +0 -0
- package/dist/executor/sdk-handlers/base/index.d.ts +0 -0
- package/dist/executor/sdk-handlers/base/index.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/base/index.js +0 -0
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +0 -0
- package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/base/mcp-scoping.js +0 -0
- package/dist/executor/sdk-handlers/base/normalizer.interface.d.ts +0 -0
- package/dist/executor/sdk-handlers/base/normalizer.interface.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/base/normalizer.interface.js +0 -0
- package/dist/executor/sdk-handlers/base/tool.interface.d.ts +0 -0
- package/dist/executor/sdk-handlers/base/tool.interface.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/base/tool.interface.js +0 -0
- package/dist/executor/sdk-handlers/base/types.d.ts +0 -0
- package/dist/executor/sdk-handlers/base/types.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/base/types.js +0 -0
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/claude-tool.js +0 -0
- package/dist/executor/sdk-handlers/claude/import/load-session.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/import/load-session.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/import/load-session.js +0 -0
- package/dist/executor/sdk-handlers/claude/import/message-converter.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/import/message-converter.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/import/message-converter.js +0 -0
- package/dist/executor/sdk-handlers/claude/import/task-extractor.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/import/task-extractor.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/import/task-extractor.js +0 -0
- package/dist/executor/sdk-handlers/claude/import/transcript-parser.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/import/transcript-parser.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/import/transcript-parser.js +0 -0
- package/dist/executor/sdk-handlers/claude/index.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/index.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/index.js +0 -0
- package/dist/executor/sdk-handlers/claude/message-builder.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/message-builder.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/message-builder.js +0 -0
- package/dist/executor/sdk-handlers/claude/message-processor.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/message-processor.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/message-processor.js +0 -0
- package/dist/executor/sdk-handlers/claude/models.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/models.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/models.js +0 -0
- package/dist/executor/sdk-handlers/claude/normalizer.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/normalizer.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/normalizer.js +0 -0
- package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.js +0 -0
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/prompt-service.js +0 -0
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/query-builder.js +0 -0
- package/dist/executor/sdk-handlers/claude/safe-message-service.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/safe-message-service.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/safe-message-service.js +0 -0
- package/dist/executor/sdk-handlers/claude/session-context.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/session-context.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/session-context.js +0 -0
- package/dist/executor/sdk-handlers/claude/thinking-detector.d.ts +0 -0
- package/dist/executor/sdk-handlers/claude/thinking-detector.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/claude/thinking-detector.js +0 -0
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +0 -0
- package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/codex/codex-tool.js +0 -0
- package/dist/executor/sdk-handlers/codex/index.d.ts +0 -0
- package/dist/executor/sdk-handlers/codex/index.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/codex/index.js +0 -0
- package/dist/executor/sdk-handlers/codex/models.d.ts +0 -0
- package/dist/executor/sdk-handlers/codex/models.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/codex/models.js +0 -0
- package/dist/executor/sdk-handlers/codex/normalizer.d.ts +0 -0
- package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/codex/normalizer.js +0 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +0 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/codex/prompt-service.js +0 -0
- package/dist/executor/sdk-handlers/codex/usage.d.ts +0 -0
- package/dist/executor/sdk-handlers/codex/usage.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/codex/usage.js +0 -0
- package/dist/executor/sdk-handlers/gemini/conversation-converter.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/conversation-converter.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/conversation-converter.js +0 -0
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/gemini-tool.js +0 -0
- package/dist/executor/sdk-handlers/gemini/index.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/index.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/index.js +0 -0
- package/dist/executor/sdk-handlers/gemini/models.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/models.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/models.js +0 -0
- package/dist/executor/sdk-handlers/gemini/normalizer.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/normalizer.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/normalizer.js +0 -0
- package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/permission-mapper.js +0 -0
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/prompt-service.js +0 -0
- package/dist/executor/sdk-handlers/gemini/usage.d.ts +0 -0
- package/dist/executor/sdk-handlers/gemini/usage.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/gemini/usage.js +0 -0
- package/dist/executor/sdk-handlers/models.d.ts +0 -0
- package/dist/executor/sdk-handlers/models.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/models.js +0 -0
- package/dist/executor/sdk-handlers/normalizer-factory.d.ts +0 -0
- package/dist/executor/sdk-handlers/normalizer-factory.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/normalizer-factory.js +0 -0
- package/dist/executor/sdk-handlers/opencode/index.d.ts +0 -0
- package/dist/executor/sdk-handlers/opencode/index.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/opencode/index.js +0 -0
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +0 -0
- package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +0 -0
- package/dist/executor/sdk-handlers/opencode/opencode-tool.js +0 -0
- package/dist/executor/services/feathers-client.d.ts +0 -0
- package/dist/executor/services/feathers-client.d.ts.map +0 -0
- package/dist/executor/services/feathers-client.js +0 -0
- package/dist/executor/types/sdk-response.d.ts +0 -0
- package/dist/executor/types/sdk-response.d.ts.map +0 -0
- package/dist/executor/types/sdk-response.js +0 -0
- package/dist/executor/types/token-usage.d.ts +0 -0
- package/dist/executor/types/token-usage.d.ts.map +0 -0
- package/dist/executor/types/token-usage.js +0 -0
- package/dist/executor/types.d.ts +0 -0
- package/dist/executor/types.d.ts.map +0 -0
- package/dist/executor/types.js +0 -0
- package/dist/ui/assets/{_basePickBy-a0JoJgXO.js → _basePickBy-DM-YlwQP.js} +1 -1
- package/dist/ui/assets/_basePickBy-DM-YlwQP.js.gz +0 -0
- package/dist/ui/assets/{_baseUniq-IFulW561.js → _baseUniq-w9wJK0j5.js} +1 -1
- package/dist/ui/assets/_baseUniq-w9wJK0j5.js.gz +0 -0
- package/dist/ui/assets/{arc-Dj6SyPh6.js → arc-CVXkw1SJ.js} +1 -1
- package/dist/ui/assets/arc-CVXkw1SJ.js.gz +0 -0
- package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CjXOzrje.js → architectureDiagram-VXUJARFQ-CevjfWlW.js} +1 -1
- package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CjXOzrje.js.gz → architectureDiagram-VXUJARFQ-CevjfWlW.js.gz} +0 -0
- package/dist/ui/assets/{blockDiagram-VD42YOAC-IFpdwkfg.js → blockDiagram-VD42YOAC-b9JU-Vzx.js} +1 -1
- package/dist/ui/assets/{blockDiagram-VD42YOAC-IFpdwkfg.js.gz → blockDiagram-VD42YOAC-b9JU-Vzx.js.gz} +0 -0
- package/dist/ui/assets/{c4Diagram-YG6GDRKO-qL4Ujfnz.js → c4Diagram-YG6GDRKO-j7VSccDF.js} +1 -1
- package/dist/ui/assets/c4Diagram-YG6GDRKO-j7VSccDF.js.gz +0 -0
- package/dist/ui/assets/channel-BNIBtjaQ.js +1 -0
- package/dist/ui/assets/{chunk-4BX2VUAB-CH6tu0mB.js → chunk-4BX2VUAB-D_codqcR.js} +1 -1
- package/dist/ui/assets/{chunk-55IACEB6-DDAZjWTD.js → chunk-55IACEB6-nQq1kviw.js} +1 -1
- package/dist/ui/assets/{chunk-B4BG7PRW-BDSu72O0.js → chunk-B4BG7PRW-DlVxaJL9.js} +1 -1
- package/dist/ui/assets/chunk-B4BG7PRW-DlVxaJL9.js.gz +0 -0
- package/dist/ui/assets/{chunk-DI55MBZ5-C7merGRo.js → chunk-DI55MBZ5-Dw95m49m.js} +1 -1
- package/dist/ui/assets/chunk-DI55MBZ5-Dw95m49m.js.gz +0 -0
- package/dist/ui/assets/{chunk-FMBD7UC4-DX20G6ZX.js → chunk-FMBD7UC4-Bnk79OV8.js} +1 -1
- package/dist/ui/assets/{chunk-QN33PNHL-BvT3a5aI.js → chunk-QN33PNHL-sqjI-sXo.js} +1 -1
- package/dist/ui/assets/{chunk-QZHKN3VN-oo-Lxdo7.js → chunk-QZHKN3VN-T7CEGHh9.js} +1 -1
- package/dist/ui/assets/{chunk-TZMSLE5B-BV4XHxKb.js → chunk-TZMSLE5B-ok9YQuUI.js} +1 -1
- package/dist/ui/assets/chunk-TZMSLE5B-ok9YQuUI.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-DeHTLUto.js +1 -0
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-DeHTLUto.js +1 -0
- package/dist/ui/assets/clone-BObtDhw7.js +1 -0
- package/dist/ui/assets/{cose-bilkent-S5V4N54A-BA6VY55u.js → cose-bilkent-S5V4N54A-BtanJFqC.js} +1 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-BtanJFqC.js.gz +0 -0
- package/dist/ui/assets/{dagre-6UL2VRFP-DiuqdLez.js → dagre-6UL2VRFP-CIJlfoaz.js} +1 -1
- package/dist/ui/assets/dagre-6UL2VRFP-CIJlfoaz.js.gz +0 -0
- package/dist/ui/assets/{diagram-PSM6KHXK-DU4u6xZN.js → diagram-PSM6KHXK-DhKlHuZN.js} +1 -1
- package/dist/ui/assets/diagram-PSM6KHXK-DhKlHuZN.js.gz +0 -0
- package/dist/ui/assets/{diagram-QEK2KX5R-CltgMeel.js → diagram-QEK2KX5R-BbwaTbd7.js} +1 -1
- package/dist/ui/assets/diagram-QEK2KX5R-BbwaTbd7.js.gz +0 -0
- package/dist/ui/assets/{diagram-S2PKOQOG-SkvAVcTN.js → diagram-S2PKOQOG-Dx1rRlHZ.js} +1 -1
- package/dist/ui/assets/diagram-S2PKOQOG-Dx1rRlHZ.js.gz +0 -0
- package/dist/ui/assets/{erDiagram-Q2GNP2WA-DJTHxEdE.js → erDiagram-Q2GNP2WA-w60Up3Mg.js} +1 -1
- package/dist/ui/assets/erDiagram-Q2GNP2WA-w60Up3Mg.js.gz +0 -0
- package/dist/ui/assets/{flowDiagram-NV44I4VS-BwrFtsSc.js → flowDiagram-NV44I4VS-yvyTqNEi.js} +1 -1
- package/dist/ui/assets/flowDiagram-NV44I4VS-yvyTqNEi.js.gz +0 -0
- package/dist/ui/assets/{ganttDiagram-LVOFAZNH-BnGmdiBB.js → ganttDiagram-LVOFAZNH-NBBWMpCB.js} +1 -1
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-NBBWMpCB.js.gz +0 -0
- package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-V6mHZ2jy.js → gitGraphDiagram-NY62KEGX-Dc0qrZJi.js} +1 -1
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Dc0qrZJi.js.gz +0 -0
- package/dist/ui/assets/{graph-3Ks94Pqc.js → graph-RIZM2qth.js} +1 -1
- package/dist/ui/assets/graph-RIZM2qth.js.gz +0 -0
- package/dist/ui/assets/{index-Dl_jng3-.js → index-BcHc8U_m.js} +240 -240
- package/dist/ui/assets/index-BcHc8U_m.js.gz +0 -0
- package/dist/ui/assets/index-BjxbtAmt.css +1 -0
- package/dist/ui/assets/index-BjxbtAmt.css.gz +0 -0
- package/dist/ui/assets/{infoDiagram-ER5ION4S-DUuNVOek.js → infoDiagram-ER5ION4S-Co1qQ3-G.js} +1 -1
- package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-D-N__rLx.js → journeyDiagram-XKPGCS4Q-QaBi_wAx.js} +1 -1
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-QaBi_wAx.js.gz +0 -0
- package/dist/ui/assets/{kanban-definition-3W4ZIXB7-DsPDRbRp.js → kanban-definition-3W4ZIXB7-B3k5rpP3.js} +1 -1
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-B3k5rpP3.js.gz +0 -0
- package/dist/ui/assets/{layout-TuyQIiWI.js → layout-YqNNovOM.js} +1 -1
- package/dist/ui/assets/layout-YqNNovOM.js.gz +0 -0
- package/dist/ui/assets/{linear-CQUCx9aD.js → linear-DpjTIW7z.js} +1 -1
- package/dist/ui/assets/linear-DpjTIW7z.js.gz +0 -0
- package/dist/ui/assets/{mermaid.core-HQwFIIbn.js → mermaid.core-D-fYaKXC.js} +5 -5
- package/dist/ui/assets/mermaid.core-D-fYaKXC.js.gz +0 -0
- package/dist/ui/assets/{mindmap-definition-VGOIOE7T-DlR4HpYx.js → mindmap-definition-VGOIOE7T-CddQalgD.js} +1 -1
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-CddQalgD.js.gz +0 -0
- package/dist/ui/assets/{pieDiagram-ADFJNKIX-OfCYTJ7S.js → pieDiagram-ADFJNKIX-BCPzhaBq.js} +1 -1
- package/dist/ui/assets/pieDiagram-ADFJNKIX-BCPzhaBq.js.gz +0 -0
- package/dist/ui/assets/{quadrantDiagram-AYHSOK5B--irB7LvR.js → quadrantDiagram-AYHSOK5B-DrdJW-2E.js} +1 -1
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DrdJW-2E.js.gz +0 -0
- package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-iPensRLV.js → requirementDiagram-UZGBJVZJ-dV0cdx6D.js} +1 -1
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-dV0cdx6D.js.gz +0 -0
- package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-BSidESLx.js → sankeyDiagram-TZEHDZUN-SLmqiy7a.js} +1 -1
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-SLmqiy7a.js.gz +0 -0
- package/dist/ui/assets/{sequenceDiagram-WL72ISMW-BUE46svP.js → sequenceDiagram-WL72ISMW-CyH5EbRm.js} +1 -1
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-CyH5EbRm.js.gz +0 -0
- package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BJ2azfLs.js → stateDiagram-FKZM4ZOC-DbtBIYM6.js} +1 -1
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-DbtBIYM6.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DOAHUeXQ.js +1 -0
- package/dist/ui/assets/{timeline-definition-IT6M3QCI-YfwKc8ip.js → timeline-definition-IT6M3QCI-CzdpjKni.js} +1 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-CzdpjKni.js.gz +0 -0
- package/dist/ui/assets/{treemap-KMMF4GRG-DMpxEEn1.js → treemap-KMMF4GRG-D_MXp3HZ.js} +1 -1
- package/dist/ui/assets/treemap-KMMF4GRG-D_MXp3HZ.js.gz +0 -0
- package/dist/ui/assets/{xychartDiagram-PRI3JC2R-Bn_I2TeN.js → xychartDiagram-PRI3JC2R-BMwyKz4M.js} +1 -1
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-BMwyKz4M.js.gz +0 -0
- package/dist/ui/index.html +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/_basePickBy-a0JoJgXO.js.gz +0 -0
- package/dist/ui/assets/_baseUniq-IFulW561.js.gz +0 -0
- package/dist/ui/assets/arc-Dj6SyPh6.js.gz +0 -0
- package/dist/ui/assets/c4Diagram-YG6GDRKO-qL4Ujfnz.js.gz +0 -0
- package/dist/ui/assets/channel-4SJF66Rh.js +0 -1
- package/dist/ui/assets/chunk-B4BG7PRW-BDSu72O0.js.gz +0 -0
- package/dist/ui/assets/chunk-DI55MBZ5-C7merGRo.js.gz +0 -0
- package/dist/ui/assets/chunk-TZMSLE5B-BV4XHxKb.js.gz +0 -0
- package/dist/ui/assets/classDiagram-2ON5EDUG-BLjqJ_M9.js +0 -1
- package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BLjqJ_M9.js +0 -1
- package/dist/ui/assets/clone-DjR0SEZ0.js +0 -1
- package/dist/ui/assets/cose-bilkent-S5V4N54A-BA6VY55u.js.gz +0 -0
- package/dist/ui/assets/dagre-6UL2VRFP-DiuqdLez.js.gz +0 -0
- package/dist/ui/assets/diagram-PSM6KHXK-DU4u6xZN.js.gz +0 -0
- package/dist/ui/assets/diagram-QEK2KX5R-CltgMeel.js.gz +0 -0
- package/dist/ui/assets/diagram-S2PKOQOG-SkvAVcTN.js.gz +0 -0
- package/dist/ui/assets/erDiagram-Q2GNP2WA-DJTHxEdE.js.gz +0 -0
- package/dist/ui/assets/flowDiagram-NV44I4VS-BwrFtsSc.js.gz +0 -0
- package/dist/ui/assets/ganttDiagram-LVOFAZNH-BnGmdiBB.js.gz +0 -0
- package/dist/ui/assets/gitGraphDiagram-NY62KEGX-V6mHZ2jy.js.gz +0 -0
- package/dist/ui/assets/graph-3Ks94Pqc.js.gz +0 -0
- package/dist/ui/assets/index-CoHRmHKF.css +0 -1
- package/dist/ui/assets/index-CoHRmHKF.css.gz +0 -0
- package/dist/ui/assets/index-Dl_jng3-.js.gz +0 -0
- package/dist/ui/assets/journeyDiagram-XKPGCS4Q-D-N__rLx.js.gz +0 -0
- package/dist/ui/assets/kanban-definition-3W4ZIXB7-DsPDRbRp.js.gz +0 -0
- package/dist/ui/assets/layout-TuyQIiWI.js.gz +0 -0
- package/dist/ui/assets/linear-CQUCx9aD.js.gz +0 -0
- package/dist/ui/assets/mermaid.core-HQwFIIbn.js.gz +0 -0
- package/dist/ui/assets/mindmap-definition-VGOIOE7T-DlR4HpYx.js.gz +0 -0
- package/dist/ui/assets/pieDiagram-ADFJNKIX-OfCYTJ7S.js.gz +0 -0
- package/dist/ui/assets/quadrantDiagram-AYHSOK5B--irB7LvR.js.gz +0 -0
- package/dist/ui/assets/requirementDiagram-UZGBJVZJ-iPensRLV.js.gz +0 -0
- package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BSidESLx.js.gz +0 -0
- package/dist/ui/assets/sequenceDiagram-WL72ISMW-BUE46svP.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-FKZM4ZOC-BJ2azfLs.js.gz +0 -0
- package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-B9Lx1w-S.js +0 -1
- package/dist/ui/assets/timeline-definition-IT6M3QCI-YfwKc8ip.js.gz +0 -0
- package/dist/ui/assets/treemap-KMMF4GRG-DMpxEEn1.js.gz +0 -0
- package/dist/ui/assets/xychartDiagram-PRI3JC2R-Bn_I2TeN.js.gz +0 -0
package/dist/core/index.cjs
CHANGED
|
@@ -166,6 +166,7 @@ __export(config_manager_exports, {
|
|
|
166
166
|
ensureCodexHome: () => ensureCodexHome,
|
|
167
167
|
expandHomePath: () => expandHomePath,
|
|
168
168
|
getAgorHome: () => getAgorHome,
|
|
169
|
+
getBaseUrl: () => getBaseUrl,
|
|
169
170
|
getConfigPath: () => getConfigPath,
|
|
170
171
|
getConfigValue: () => getConfigValue,
|
|
171
172
|
getCredential: () => getCredential,
|
|
@@ -383,6 +384,32 @@ async function getDaemonUrl() {
|
|
|
383
384
|
const host = config.daemon?.host || defaults.daemon?.host || DAEMON.DEFAULT_HOST;
|
|
384
385
|
return `http://${host}:${port}`;
|
|
385
386
|
}
|
|
387
|
+
function validateBaseUrl(url) {
|
|
388
|
+
const trimmed = url.trim().replace(/\/$/, "");
|
|
389
|
+
if (!trimmed.startsWith("http://") && !trimmed.startsWith("https://")) {
|
|
390
|
+
throw new Error(`Invalid base URL: "${url}". Must start with http:// or https://`);
|
|
391
|
+
}
|
|
392
|
+
try {
|
|
393
|
+
new URL(trimmed);
|
|
394
|
+
} catch {
|
|
395
|
+
throw new Error(`Invalid base URL format: "${url}". Must be a valid HTTP(S) URL.`);
|
|
396
|
+
}
|
|
397
|
+
return trimmed;
|
|
398
|
+
}
|
|
399
|
+
async function getBaseUrl() {
|
|
400
|
+
if (process.env.AGOR_BASE_URL) {
|
|
401
|
+
return validateBaseUrl(process.env.AGOR_BASE_URL);
|
|
402
|
+
}
|
|
403
|
+
const config = await loadConfig();
|
|
404
|
+
if (config.daemon?.base_url) {
|
|
405
|
+
return validateBaseUrl(config.daemon.base_url);
|
|
406
|
+
}
|
|
407
|
+
const defaults = getDefaultConfig();
|
|
408
|
+
const envPort = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : void 0;
|
|
409
|
+
const port = envPort || config.daemon?.port || defaults.daemon?.port || DAEMON.DEFAULT_PORT;
|
|
410
|
+
const host = config.daemon?.host || defaults.daemon?.host || DAEMON.DEFAULT_HOST;
|
|
411
|
+
return `http://${host}:${port}`;
|
|
412
|
+
}
|
|
386
413
|
function loadConfigSync() {
|
|
387
414
|
const configPath = getConfigPath();
|
|
388
415
|
try {
|
|
@@ -711,13 +738,15 @@ __export(schema_postgres_exports, {
|
|
|
711
738
|
repos: () => repos,
|
|
712
739
|
sessionMcpServers: () => sessionMcpServers,
|
|
713
740
|
sessions: () => sessions,
|
|
741
|
+
sessionsRelations: () => sessionsRelations,
|
|
714
742
|
tasks: () => tasks,
|
|
715
743
|
threadSessionMap: () => threadSessionMap,
|
|
716
744
|
users: () => users,
|
|
717
745
|
worktreeOwners: () => worktreeOwners,
|
|
718
|
-
worktrees: () => worktrees
|
|
746
|
+
worktrees: () => worktrees,
|
|
747
|
+
worktreesRelations: () => worktreesRelations
|
|
719
748
|
});
|
|
720
|
-
var import_drizzle_orm2, import_pg_core, t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap;
|
|
749
|
+
var import_drizzle_orm2, import_pg_core, t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap, sessionsRelations, worktreesRelations;
|
|
721
750
|
var init_schema_postgres = __esm({
|
|
722
751
|
"src/db/schema.postgres.ts"() {
|
|
723
752
|
"use strict";
|
|
@@ -1206,6 +1235,15 @@ var init_schema_postgres = __esm({
|
|
|
1206
1235
|
channelStatusIdx: (0, import_pg_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
1207
1236
|
})
|
|
1208
1237
|
);
|
|
1238
|
+
sessionsRelations = (0, import_drizzle_orm2.relations)(sessions, ({ one }) => ({
|
|
1239
|
+
worktree: one(worktrees, {
|
|
1240
|
+
fields: [sessions.worktree_id],
|
|
1241
|
+
references: [worktrees.worktree_id]
|
|
1242
|
+
})
|
|
1243
|
+
}));
|
|
1244
|
+
worktreesRelations = (0, import_drizzle_orm2.relations)(worktrees, ({ many }) => ({
|
|
1245
|
+
sessions: many(sessions)
|
|
1246
|
+
}));
|
|
1209
1247
|
}
|
|
1210
1248
|
});
|
|
1211
1249
|
|
|
@@ -1221,13 +1259,15 @@ __export(schema_sqlite_exports, {
|
|
|
1221
1259
|
repos: () => repos2,
|
|
1222
1260
|
sessionMcpServers: () => sessionMcpServers2,
|
|
1223
1261
|
sessions: () => sessions2,
|
|
1262
|
+
sessionsRelations: () => sessionsRelations2,
|
|
1224
1263
|
tasks: () => tasks2,
|
|
1225
1264
|
threadSessionMap: () => threadSessionMap2,
|
|
1226
1265
|
users: () => users2,
|
|
1227
1266
|
worktreeOwners: () => worktreeOwners2,
|
|
1228
|
-
worktrees: () => worktrees2
|
|
1267
|
+
worktrees: () => worktrees2,
|
|
1268
|
+
worktreesRelations: () => worktreesRelations2
|
|
1229
1269
|
});
|
|
1230
|
-
var import_drizzle_orm3, import_sqlite_core, t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2;
|
|
1270
|
+
var import_drizzle_orm3, import_sqlite_core, t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2, sessionsRelations2, worktreesRelations2;
|
|
1231
1271
|
var init_schema_sqlite = __esm({
|
|
1232
1272
|
"src/db/schema.sqlite.ts"() {
|
|
1233
1273
|
"use strict";
|
|
@@ -1717,6 +1757,15 @@ var init_schema_sqlite = __esm({
|
|
|
1717
1757
|
channelStatusIdx: (0, import_sqlite_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
|
|
1718
1758
|
})
|
|
1719
1759
|
);
|
|
1760
|
+
sessionsRelations2 = (0, import_drizzle_orm3.relations)(sessions2, ({ one }) => ({
|
|
1761
|
+
worktree: one(worktrees2, {
|
|
1762
|
+
fields: [sessions2.worktree_id],
|
|
1763
|
+
references: [worktrees2.worktree_id]
|
|
1764
|
+
})
|
|
1765
|
+
}));
|
|
1766
|
+
worktreesRelations2 = (0, import_drizzle_orm3.relations)(worktrees2, ({ many }) => ({
|
|
1767
|
+
sessions: many(sessions2)
|
|
1768
|
+
}));
|
|
1720
1769
|
}
|
|
1721
1770
|
});
|
|
1722
1771
|
|
|
@@ -2077,6 +2126,7 @@ __export(src_exports, {
|
|
|
2077
2126
|
generateUnixUsername: () => generateUnixUsername,
|
|
2078
2127
|
generateWorktreeGroupName: () => generateWorktreeGroupName,
|
|
2079
2128
|
getAgorHome: () => getAgorHome,
|
|
2129
|
+
getBaseUrl: () => getBaseUrl,
|
|
2080
2130
|
getCommentAttachmentType: () => getCommentAttachmentType,
|
|
2081
2131
|
getConfigPath: () => getConfigPath,
|
|
2082
2132
|
getConfigValue: () => getConfigValue,
|
|
@@ -3024,18 +3074,8 @@ async function checkMigrationStatus(db) {
|
|
|
3024
3074
|
);
|
|
3025
3075
|
appliedHashes = result.map((row) => String(row.hash));
|
|
3026
3076
|
}
|
|
3027
|
-
const
|
|
3028
|
-
const
|
|
3029
|
-
const numApplied = normalizedAppliedHashes.length;
|
|
3030
|
-
if (numApplied >= numExpected) {
|
|
3031
|
-
return {
|
|
3032
|
-
hasPending: false,
|
|
3033
|
-
pending: [],
|
|
3034
|
-
applied: expectedMigrations.map((m) => m.tag)
|
|
3035
|
-
};
|
|
3036
|
-
}
|
|
3037
|
-
const pending = expectedMigrations.filter((m) => !normalizedAppliedHashes.includes(m.hash)).map((m) => m.tag);
|
|
3038
|
-
const appliedTags = expectedMigrations.filter((m) => normalizedAppliedHashes.includes(m.hash)).map((m) => m.tag);
|
|
3077
|
+
const pending = expectedMigrations.filter((m) => !appliedHashes.includes(m.hash)).map((m) => m.tag);
|
|
3078
|
+
const appliedTags = expectedMigrations.filter((m) => appliedHashes.includes(m.hash)).map((m) => m.tag);
|
|
3039
3079
|
return {
|
|
3040
3080
|
hasPending: pending.length > 0,
|
|
3041
3081
|
pending,
|
|
@@ -3741,7 +3781,23 @@ var BoardObjectRepository = class {
|
|
|
3741
3781
|
init_cjs_shims();
|
|
3742
3782
|
var import_drizzle_orm8 = require("drizzle-orm");
|
|
3743
3783
|
var yaml3 = __toESM(require("js-yaml"), 1);
|
|
3784
|
+
init_config_manager();
|
|
3785
|
+
init_ids();
|
|
3786
|
+
|
|
3787
|
+
// src/utils/url.ts
|
|
3788
|
+
init_cjs_shims();
|
|
3744
3789
|
init_ids();
|
|
3790
|
+
function getSessionUrl(sessionId, boardId, boardSlug, baseUrl) {
|
|
3791
|
+
if (!boardId) return null;
|
|
3792
|
+
const boardParam = boardSlug || shortId(boardId);
|
|
3793
|
+
return `${baseUrl}/b/${boardParam}/${shortId(sessionId)}`;
|
|
3794
|
+
}
|
|
3795
|
+
function getBoardUrl(boardId, boardSlug, baseUrl) {
|
|
3796
|
+
const boardParam = boardSlug || shortId(boardId);
|
|
3797
|
+
return `${baseUrl}/b/${boardParam}`;
|
|
3798
|
+
}
|
|
3799
|
+
|
|
3800
|
+
// src/db/repositories/boards.ts
|
|
3745
3801
|
init_database_wrapper();
|
|
3746
3802
|
init_schema();
|
|
3747
3803
|
var BoardRepository = class {
|
|
@@ -3750,16 +3806,23 @@ var BoardRepository = class {
|
|
|
3750
3806
|
}
|
|
3751
3807
|
/**
|
|
3752
3808
|
* Convert database row to Board type
|
|
3809
|
+
*
|
|
3810
|
+
* @param row - Database row
|
|
3811
|
+
* @param baseUrl - Base URL for generating board URLs
|
|
3753
3812
|
*/
|
|
3754
|
-
rowToBoard(row) {
|
|
3813
|
+
rowToBoard(row, baseUrl) {
|
|
3755
3814
|
const data = row.data;
|
|
3815
|
+
const boardId = row.board_id;
|
|
3816
|
+
const slug = row.slug !== null ? row.slug : void 0;
|
|
3817
|
+
const url = baseUrl ? getBoardUrl(boardId, slug, baseUrl) : "";
|
|
3756
3818
|
return {
|
|
3757
|
-
board_id:
|
|
3819
|
+
board_id: boardId,
|
|
3758
3820
|
name: row.name,
|
|
3759
|
-
slug
|
|
3821
|
+
slug,
|
|
3760
3822
|
created_at: new Date(row.created_at).toISOString(),
|
|
3761
3823
|
last_updated: row.updated_at ? new Date(row.updated_at).toISOString() : new Date(row.created_at).toISOString(),
|
|
3762
3824
|
created_by: row.created_by,
|
|
3825
|
+
url,
|
|
3763
3826
|
...data
|
|
3764
3827
|
};
|
|
3765
3828
|
}
|
|
@@ -3839,6 +3902,7 @@ var BoardRepository = class {
|
|
|
3839
3902
|
async create(data) {
|
|
3840
3903
|
try {
|
|
3841
3904
|
const boardId = data.board_id ?? generateId();
|
|
3905
|
+
const baseUrl = await getBaseUrl();
|
|
3842
3906
|
let finalSlug;
|
|
3843
3907
|
if (data.slug === null) {
|
|
3844
3908
|
finalSlug = void 0;
|
|
@@ -3861,7 +3925,7 @@ var BoardRepository = class {
|
|
|
3861
3925
|
if (!row) {
|
|
3862
3926
|
throw new RepositoryError("Failed to retrieve created board");
|
|
3863
3927
|
}
|
|
3864
|
-
return this.rowToBoard(row);
|
|
3928
|
+
return this.rowToBoard(row, baseUrl);
|
|
3865
3929
|
} catch (error) {
|
|
3866
3930
|
if (error instanceof RepositoryError) throw error;
|
|
3867
3931
|
throw new RepositoryError(
|
|
@@ -3876,8 +3940,9 @@ var BoardRepository = class {
|
|
|
3876
3940
|
async findById(id) {
|
|
3877
3941
|
try {
|
|
3878
3942
|
const fullId = await this.resolveId(id);
|
|
3943
|
+
const baseUrl = await getBaseUrl();
|
|
3879
3944
|
const row = await select(this.db).from(boards3).where((0, import_drizzle_orm8.eq)(boards3.board_id, fullId)).one();
|
|
3880
|
-
return row ? this.rowToBoard(row) : null;
|
|
3945
|
+
return row ? this.rowToBoard(row, baseUrl) : null;
|
|
3881
3946
|
} catch (error) {
|
|
3882
3947
|
if (error instanceof EntityNotFoundError) return null;
|
|
3883
3948
|
if (error instanceof AmbiguousIdError) throw error;
|
|
@@ -3892,8 +3957,9 @@ var BoardRepository = class {
|
|
|
3892
3957
|
*/
|
|
3893
3958
|
async findBySlug(slug) {
|
|
3894
3959
|
try {
|
|
3960
|
+
const baseUrl = await getBaseUrl();
|
|
3895
3961
|
const row = await select(this.db).from(boards3).where((0, import_drizzle_orm8.eq)(boards3.slug, slug)).one();
|
|
3896
|
-
return row ? this.rowToBoard(row) : null;
|
|
3962
|
+
return row ? this.rowToBoard(row, baseUrl) : null;
|
|
3897
3963
|
} catch (error) {
|
|
3898
3964
|
throw new RepositoryError(
|
|
3899
3965
|
`Failed to find board by slug: ${error instanceof Error ? error.message : String(error)}`,
|
|
@@ -3918,8 +3984,9 @@ var BoardRepository = class {
|
|
|
3918
3984
|
*/
|
|
3919
3985
|
async findAll() {
|
|
3920
3986
|
try {
|
|
3987
|
+
const baseUrl = await getBaseUrl();
|
|
3921
3988
|
const rows = await select(this.db).from(boards3).all();
|
|
3922
|
-
return rows.map((row) => this.rowToBoard(row));
|
|
3989
|
+
return rows.map((row) => this.rowToBoard(row, baseUrl));
|
|
3923
3990
|
} catch (error) {
|
|
3924
3991
|
throw new RepositoryError(
|
|
3925
3992
|
`Failed to find all boards: ${error instanceof Error ? error.message : String(error)}`,
|
|
@@ -4269,7 +4336,14 @@ function decryptConfig(config) {
|
|
|
4269
4336
|
if (typeof decrypted[field] === "string" && decrypted[field]) {
|
|
4270
4337
|
try {
|
|
4271
4338
|
decrypted[field] = decryptApiKey(decrypted[field]);
|
|
4272
|
-
} catch {
|
|
4339
|
+
} catch (error) {
|
|
4340
|
+
console.error(
|
|
4341
|
+
`[gateway-channels] Failed to decrypt ${field}:`,
|
|
4342
|
+
error instanceof Error ? error.message : String(error)
|
|
4343
|
+
);
|
|
4344
|
+
console.error(
|
|
4345
|
+
"[gateway-channels] Channel credentials may be corrupted or master secret changed"
|
|
4346
|
+
);
|
|
4273
4347
|
}
|
|
4274
4348
|
}
|
|
4275
4349
|
}
|
|
@@ -4410,6 +4484,15 @@ var GatewayChannelRepository = class {
|
|
|
4410
4484
|
throw new EntityNotFoundError("GatewayChannel", id);
|
|
4411
4485
|
}
|
|
4412
4486
|
const merged = { ...current, ...updates };
|
|
4487
|
+
if (updates.config) {
|
|
4488
|
+
const mergedConfig = { ...current.config, ...updates.config };
|
|
4489
|
+
for (const field of SENSITIVE_CONFIG_FIELDS) {
|
|
4490
|
+
if (!updates.config[field] && current.config[field]) {
|
|
4491
|
+
mergedConfig[field] = current.config[field];
|
|
4492
|
+
}
|
|
4493
|
+
}
|
|
4494
|
+
merged.config = mergedConfig;
|
|
4495
|
+
}
|
|
4413
4496
|
const insertData = this.channelToInsert(merged);
|
|
4414
4497
|
await update(this.db, gatewayChannels3).set({
|
|
4415
4498
|
name: insertData.name,
|
|
@@ -5406,6 +5489,7 @@ init_cjs_shims();
|
|
|
5406
5489
|
|
|
5407
5490
|
// src/db/repositories/sessions.ts
|
|
5408
5491
|
var import_drizzle_orm13 = require("drizzle-orm");
|
|
5492
|
+
init_config_manager();
|
|
5409
5493
|
init_ids();
|
|
5410
5494
|
init_database_wrapper();
|
|
5411
5495
|
init_schema();
|
|
@@ -5415,11 +5499,19 @@ var SessionRepository = class {
|
|
|
5415
5499
|
}
|
|
5416
5500
|
/**
|
|
5417
5501
|
* Convert database row to Session type
|
|
5502
|
+
*
|
|
5503
|
+
* @param row - Database row
|
|
5504
|
+
* @param worktreeBoardId - Board ID from worktree (if JOINed)
|
|
5505
|
+
* @param boardSlug - Board slug from boards table (if JOINed)
|
|
5506
|
+
* @param baseUrl - Base URL for generating session URLs
|
|
5418
5507
|
*/
|
|
5419
|
-
rowToSession(row) {
|
|
5508
|
+
rowToSession(row, worktreeBoardId, boardSlug, baseUrl) {
|
|
5420
5509
|
const genealogyData = row.data.genealogy || { children: [] };
|
|
5510
|
+
const sessionId = row.session_id;
|
|
5511
|
+
const boardId = worktreeBoardId ?? null;
|
|
5512
|
+
const url = baseUrl ? getSessionUrl(sessionId, boardId, boardSlug, baseUrl) : null;
|
|
5421
5513
|
return {
|
|
5422
|
-
session_id:
|
|
5514
|
+
session_id: sessionId,
|
|
5423
5515
|
status: row.status,
|
|
5424
5516
|
agentic_tool: row.agentic_tool,
|
|
5425
5517
|
created_at: new Date(row.created_at).toISOString(),
|
|
@@ -5427,6 +5519,8 @@ var SessionRepository = class {
|
|
|
5427
5519
|
created_by: row.created_by,
|
|
5428
5520
|
unix_username: row.unix_username || null,
|
|
5429
5521
|
worktree_id: row.worktree_id,
|
|
5522
|
+
worktree_board_id: boardId,
|
|
5523
|
+
url,
|
|
5430
5524
|
...row.data,
|
|
5431
5525
|
tasks: row.data.tasks.map((id) => id),
|
|
5432
5526
|
genealogy: {
|
|
@@ -5539,11 +5633,15 @@ var SessionRepository = class {
|
|
|
5539
5633
|
try {
|
|
5540
5634
|
const insertData = this.sessionToInsert(data);
|
|
5541
5635
|
await insert(this.db, sessions3).values(insertData).run();
|
|
5542
|
-
const
|
|
5543
|
-
|
|
5636
|
+
const baseUrl = await getBaseUrl();
|
|
5637
|
+
const result = await select(this.db).from(sessions3).leftJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).where((0, import_drizzle_orm13.eq)(sessions3.session_id, insertData.session_id)).one();
|
|
5638
|
+
if (!result) {
|
|
5544
5639
|
throw new RepositoryError("Failed to retrieve created session");
|
|
5545
5640
|
}
|
|
5546
|
-
|
|
5641
|
+
const sessionRow = result.sessions;
|
|
5642
|
+
const boardId = result.worktrees?.board_id ?? null;
|
|
5643
|
+
const boardSlug = result.boards?.slug ?? null;
|
|
5644
|
+
return this.rowToSession(sessionRow, boardId, boardSlug, baseUrl);
|
|
5547
5645
|
} catch (error) {
|
|
5548
5646
|
if (error instanceof RepositoryError) throw error;
|
|
5549
5647
|
throw new RepositoryError(
|
|
@@ -5554,12 +5652,22 @@ var SessionRepository = class {
|
|
|
5554
5652
|
}
|
|
5555
5653
|
/**
|
|
5556
5654
|
* Find session by ID (supports short ID)
|
|
5655
|
+
*
|
|
5656
|
+
* Automatically LEFT JOINs with worktrees table to populate worktree_board_id and url.
|
|
5657
|
+
* This avoids N+1 queries when URL generation is needed.
|
|
5557
5658
|
*/
|
|
5558
5659
|
async findById(id) {
|
|
5559
5660
|
try {
|
|
5560
5661
|
const fullId = await this.resolveId(id);
|
|
5561
|
-
const
|
|
5562
|
-
|
|
5662
|
+
const baseUrl = await getBaseUrl();
|
|
5663
|
+
const result = await select(this.db).from(sessions3).leftJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).where((0, import_drizzle_orm13.eq)(sessions3.session_id, fullId)).one();
|
|
5664
|
+
if (!result) {
|
|
5665
|
+
return null;
|
|
5666
|
+
}
|
|
5667
|
+
const sessionRow = result.sessions;
|
|
5668
|
+
const boardId = result.worktrees?.board_id ?? null;
|
|
5669
|
+
const boardSlug = result.boards?.slug ?? null;
|
|
5670
|
+
return this.rowToSession(sessionRow, boardId, boardSlug, baseUrl);
|
|
5563
5671
|
} catch (error) {
|
|
5564
5672
|
if (error instanceof EntityNotFoundError) return null;
|
|
5565
5673
|
if (error instanceof AmbiguousIdError) throw error;
|
|
@@ -5571,11 +5679,21 @@ var SessionRepository = class {
|
|
|
5571
5679
|
}
|
|
5572
5680
|
/**
|
|
5573
5681
|
* Find all sessions
|
|
5682
|
+
*
|
|
5683
|
+
* LEFT JOINs with worktrees to populate board_id and url in a single query.
|
|
5574
5684
|
*/
|
|
5575
5685
|
async findAll() {
|
|
5576
5686
|
try {
|
|
5577
|
-
const
|
|
5578
|
-
|
|
5687
|
+
const baseUrl = await getBaseUrl();
|
|
5688
|
+
const results = await select(this.db).from(sessions3).leftJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).all();
|
|
5689
|
+
return results.map(
|
|
5690
|
+
(result) => {
|
|
5691
|
+
const sessionRow = result.sessions;
|
|
5692
|
+
const boardId = result.worktrees?.board_id ?? null;
|
|
5693
|
+
const boardSlug = result.boards?.slug ?? null;
|
|
5694
|
+
return this.rowToSession(sessionRow, boardId, boardSlug, baseUrl);
|
|
5695
|
+
}
|
|
5696
|
+
);
|
|
5579
5697
|
} catch (error) {
|
|
5580
5698
|
throw new RepositoryError(
|
|
5581
5699
|
`Failed to find all sessions: ${error instanceof Error ? error.message : String(error)}`,
|
|
@@ -5585,11 +5703,21 @@ var SessionRepository = class {
|
|
|
5585
5703
|
}
|
|
5586
5704
|
/**
|
|
5587
5705
|
* Find sessions by status
|
|
5706
|
+
*
|
|
5707
|
+
* LEFT JOINs with worktrees to populate board_id and url.
|
|
5588
5708
|
*/
|
|
5589
5709
|
async findByStatus(status) {
|
|
5590
5710
|
try {
|
|
5591
|
-
const
|
|
5592
|
-
|
|
5711
|
+
const baseUrl = await getBaseUrl();
|
|
5712
|
+
const results = await select(this.db).from(sessions3).leftJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).where((0, import_drizzle_orm13.eq)(sessions3.status, status)).all();
|
|
5713
|
+
return results.map(
|
|
5714
|
+
(result) => {
|
|
5715
|
+
const sessionRow = result.sessions;
|
|
5716
|
+
const boardId = result.worktrees?.board_id ?? null;
|
|
5717
|
+
const boardSlug = result.boards?.slug ?? null;
|
|
5718
|
+
return this.rowToSession(sessionRow, boardId, boardSlug, baseUrl);
|
|
5719
|
+
}
|
|
5720
|
+
);
|
|
5593
5721
|
} catch (error) {
|
|
5594
5722
|
throw new RepositoryError(
|
|
5595
5723
|
`Failed to find sessions by status: ${error instanceof Error ? error.message : String(error)}`,
|
|
@@ -5599,11 +5727,22 @@ var SessionRepository = class {
|
|
|
5599
5727
|
}
|
|
5600
5728
|
/**
|
|
5601
5729
|
* Find sessions by board ID
|
|
5730
|
+
*
|
|
5731
|
+
* Uses materialized board_id column for O(1) indexed lookup.
|
|
5732
|
+
* LEFT JOINs with worktrees to populate url (board_id already known from filter).
|
|
5602
5733
|
*/
|
|
5603
5734
|
async findByBoard(boardId) {
|
|
5604
5735
|
try {
|
|
5605
|
-
const
|
|
5606
|
-
|
|
5736
|
+
const baseUrl = await getBaseUrl();
|
|
5737
|
+
const results = await select(this.db).from(sessions3).leftJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).where((0, import_drizzle_orm13.eq)(sessions3.board_id, boardId)).all();
|
|
5738
|
+
return results.map(
|
|
5739
|
+
(result) => {
|
|
5740
|
+
const sessionRow = result.sessions;
|
|
5741
|
+
const board_id = result.worktrees?.board_id ?? null;
|
|
5742
|
+
const boardSlug = result.boards?.slug ?? null;
|
|
5743
|
+
return this.rowToSession(sessionRow, board_id, boardSlug, baseUrl);
|
|
5744
|
+
}
|
|
5745
|
+
);
|
|
5607
5746
|
} catch (error) {
|
|
5608
5747
|
throw new RepositoryError(
|
|
5609
5748
|
`Failed to find sessions by board: ${error instanceof Error ? error.message : String(error)}`,
|
|
@@ -5613,18 +5752,28 @@ var SessionRepository = class {
|
|
|
5613
5752
|
}
|
|
5614
5753
|
/**
|
|
5615
5754
|
* Find child sessions (forked or spawned from this session)
|
|
5755
|
+
*
|
|
5756
|
+
* LEFT JOINs with worktrees to populate board_id and url.
|
|
5616
5757
|
*/
|
|
5617
5758
|
async findChildren(sessionId) {
|
|
5618
5759
|
try {
|
|
5619
5760
|
const fullId = await this.resolveId(sessionId);
|
|
5761
|
+
const baseUrl = await getBaseUrl();
|
|
5620
5762
|
const { jsonExtract: jsonExtract2 } = await Promise.resolve().then(() => (init_database_wrapper(), database_wrapper_exports));
|
|
5621
|
-
const
|
|
5763
|
+
const results = await select(this.db).from(sessions3).leftJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).where(
|
|
5622
5764
|
(0, import_drizzle_orm13.or)(
|
|
5623
5765
|
import_drizzle_orm13.sql`${jsonExtract2(this.db, sessions3.data, "genealogy.parent_session_id")} = ${fullId}`,
|
|
5624
5766
|
import_drizzle_orm13.sql`${jsonExtract2(this.db, sessions3.data, "genealogy.forked_from_session_id")} = ${fullId}`
|
|
5625
5767
|
)
|
|
5626
5768
|
).all();
|
|
5627
|
-
return
|
|
5769
|
+
return results.map(
|
|
5770
|
+
(result) => {
|
|
5771
|
+
const sessionRow = result.sessions;
|
|
5772
|
+
const boardId = result.worktrees?.board_id ?? null;
|
|
5773
|
+
const boardSlug = result.boards?.slug ?? null;
|
|
5774
|
+
return this.rowToSession(sessionRow, boardId, boardSlug, baseUrl);
|
|
5775
|
+
}
|
|
5776
|
+
);
|
|
5628
5777
|
} catch (error) {
|
|
5629
5778
|
throw new RepositoryError(
|
|
5630
5779
|
`Failed to find child sessions: ${error instanceof Error ? error.message : String(error)}`,
|
|
@@ -5677,14 +5826,18 @@ var SessionRepository = class {
|
|
|
5677
5826
|
async update(id, updates) {
|
|
5678
5827
|
try {
|
|
5679
5828
|
const fullId = await this.resolveId(id);
|
|
5829
|
+
const baseUrl = await getBaseUrl();
|
|
5680
5830
|
const statusInfo = updates.status ? ` (status: ${updates.status}, ready_for_prompt: ${updates.ready_for_prompt})` : "";
|
|
5681
5831
|
console.debug(`\u{1F504} [SessionRepo] Updating session ${fullId.substring(0, 8)}${statusInfo}`);
|
|
5682
5832
|
const result = await this.db.transaction(async (tx) => {
|
|
5683
|
-
const
|
|
5684
|
-
if (!
|
|
5833
|
+
const currentResult = await select(tx).from(sessions3).leftJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).where((0, import_drizzle_orm13.eq)(sessions3.session_id, fullId)).one();
|
|
5834
|
+
if (!currentResult) {
|
|
5685
5835
|
throw new EntityNotFoundError("Session", id);
|
|
5686
5836
|
}
|
|
5687
|
-
const
|
|
5837
|
+
const currentRow = currentResult.sessions;
|
|
5838
|
+
const boardId = currentResult.worktrees?.board_id ?? null;
|
|
5839
|
+
const boardSlug = currentResult.boards?.slug ?? null;
|
|
5840
|
+
const current = this.rowToSession(currentRow, boardId, boardSlug, baseUrl);
|
|
5688
5841
|
const merged = deepMerge(current, updates);
|
|
5689
5842
|
const insertData = this.sessionToInsert(merged);
|
|
5690
5843
|
await update(tx, sessions3).set({
|
|
@@ -5751,15 +5904,18 @@ var SessionRepository = class {
|
|
|
5751
5904
|
* instead of N+1. Returns sessions where user is a worktree owner OR worktree.others_can
|
|
5752
5905
|
* allows at least 'view' access.
|
|
5753
5906
|
*
|
|
5907
|
+
* Also populates board_id and url via the worktrees JOIN.
|
|
5908
|
+
*
|
|
5754
5909
|
* NOTE: This method should only be called when RBAC is enabled. When RBAC is disabled,
|
|
5755
5910
|
* the scopeSessionQuery hook is not registered, so default Feathers query is used
|
|
5756
5911
|
* (which returns all sessions without filtering).
|
|
5757
5912
|
*
|
|
5758
5913
|
* @param userId - User ID to check access for
|
|
5759
|
-
* @returns Array of accessible sessions
|
|
5914
|
+
* @returns Array of accessible sessions with urls populated
|
|
5760
5915
|
*/
|
|
5761
5916
|
async findAccessibleSessions(userId) {
|
|
5762
|
-
const
|
|
5917
|
+
const baseUrl = await getBaseUrl();
|
|
5918
|
+
const results = await select(this.db).from(sessions3).innerJoin(worktrees3, (0, import_drizzle_orm13.eq)(sessions3.worktree_id, worktrees3.worktree_id)).leftJoin(boards3, (0, import_drizzle_orm13.eq)(worktrees3.board_id, boards3.board_id)).leftJoin(
|
|
5763
5919
|
worktreeOwners3,
|
|
5764
5920
|
(0, import_drizzle_orm13.and)(
|
|
5765
5921
|
(0, import_drizzle_orm13.eq)(worktreeOwners3.worktree_id, worktrees3.worktree_id),
|
|
@@ -5771,7 +5927,14 @@ var SessionRepository = class {
|
|
|
5771
5927
|
(0, import_drizzle_orm13.inArray)(worktrees3.others_can, ["view", "prompt", "all"])
|
|
5772
5928
|
)
|
|
5773
5929
|
).all();
|
|
5774
|
-
return
|
|
5930
|
+
return results.map(
|
|
5931
|
+
(result) => {
|
|
5932
|
+
const sessionRow = result.sessions;
|
|
5933
|
+
const boardId = result.worktrees?.board_id ?? null;
|
|
5934
|
+
const boardSlug = result.boards?.slug ?? null;
|
|
5935
|
+
return this.rowToSession(sessionRow, boardId, boardSlug, baseUrl);
|
|
5936
|
+
}
|
|
5937
|
+
);
|
|
5775
5938
|
}
|
|
5776
5939
|
/**
|
|
5777
5940
|
* Enrich a single session with last assistant message
|
|
@@ -5820,7 +5983,7 @@ var SessionRepository = class {
|
|
|
5820
5983
|
fullText = messageData.content.filter((block) => block.type === "text" && block.text).map((block) => block.text).join("\n");
|
|
5821
5984
|
}
|
|
5822
5985
|
if (fullText.length > truncationLength) {
|
|
5823
|
-
fullText = fullText.substring(0, truncationLength)
|
|
5986
|
+
fullText = `${fullText.substring(0, truncationLength)}...`;
|
|
5824
5987
|
}
|
|
5825
5988
|
lastMessageBySession.set(sessionId, fullText);
|
|
5826
5989
|
}
|
|
@@ -6607,6 +6770,20 @@ var ThreadSessionMapRepository = class {
|
|
|
6607
6770
|
);
|
|
6608
6771
|
}
|
|
6609
6772
|
}
|
|
6773
|
+
/**
|
|
6774
|
+
* Find all mappings for a worktree (for UI filtering gateway sessions)
|
|
6775
|
+
*/
|
|
6776
|
+
async findByWorktree(worktreeId) {
|
|
6777
|
+
try {
|
|
6778
|
+
const rows = await select(this.db).from(threadSessionMap3).where((0, import_drizzle_orm16.eq)(threadSessionMap3.worktree_id, worktreeId)).all();
|
|
6779
|
+
return rows.map((row) => this.rowToMapping(row));
|
|
6780
|
+
} catch (error) {
|
|
6781
|
+
throw new RepositoryError(
|
|
6782
|
+
`Failed to find mappings by worktree: ${error instanceof Error ? error.message : String(error)}`,
|
|
6783
|
+
error
|
|
6784
|
+
);
|
|
6785
|
+
}
|
|
6786
|
+
}
|
|
6610
6787
|
};
|
|
6611
6788
|
|
|
6612
6789
|
// src/db/repositories/users.ts
|
|
@@ -7383,7 +7560,7 @@ var WorktreeRepository = class {
|
|
|
7383
7560
|
fullText = messageData.content.filter((block) => block.type === "text" && block.text).map((block) => block.text).join("\n");
|
|
7384
7561
|
}
|
|
7385
7562
|
if (fullText.length > truncationLength) {
|
|
7386
|
-
fullText = fullText.substring(0, truncationLength)
|
|
7563
|
+
fullText = `${fullText.substring(0, truncationLength)}...`;
|
|
7387
7564
|
}
|
|
7388
7565
|
lastMessageBySession.set(sessionId, fullText);
|
|
7389
7566
|
}
|
|
@@ -7394,7 +7571,7 @@ var WorktreeRepository = class {
|
|
|
7394
7571
|
const sessionId = row.session_id;
|
|
7395
7572
|
let lastMessage = lastMessageBySession.get(sessionId) || "";
|
|
7396
7573
|
if (lastMessage.length > truncationLength) {
|
|
7397
|
-
lastMessage = lastMessage.substring(0, truncationLength)
|
|
7574
|
+
lastMessage = `${lastMessage.substring(0, truncationLength)}...truncated`;
|
|
7398
7575
|
}
|
|
7399
7576
|
const sessionData = row.data;
|
|
7400
7577
|
const messageCount = sessionData?.message_count ?? 0;
|
|
@@ -10571,6 +10748,7 @@ function unpatchConsole() {
|
|
|
10571
10748
|
generateUnixUsername,
|
|
10572
10749
|
generateWorktreeGroupName,
|
|
10573
10750
|
getAgorHome,
|
|
10751
|
+
getBaseUrl,
|
|
10574
10752
|
getCommentAttachmentType,
|
|
10575
10753
|
getConfigPath,
|
|
10576
10754
|
getConfigValue,
|
package/dist/core/index.d.cts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
export { AgorClient, AgorService, BoardsService, MessagesService, ReposLocalService, ReposService, ServiceTypes, SessionsService, TasksService, WorktreesService, createClient, createRestClient, isDaemonRunning } from './api/index.cjs';
|
|
2
2
|
export { AGOR_INTERNAL_ENV_VARS, AGOR_USER_ENV_KEYS_VAR, AgorYmlSchema, ApiKeyName, BLOCKED_ENV_VARS, ENV_VAR_CONSTRAINTS, KeyResolutionContext, KeyResolutionResult, ValidationError, createUserProcessEnvironment, formatValidationError, formatValidationErrors, getEnvVarBlockReason, isEnvVarAllowed, isValid, parseAgorYml, resolveApiKey, resolveApiKeySync, resolveSystemEnvironment, resolveUserEnvironment, validateEnvVar, withUserEnvironment, withUserEnvironmentSync, writeAgorYml } from './config/index.cjs';
|
|
3
|
-
export { c as ensureCodexHome, e as expandHomePath, g as getAgorHome, a as getConfigPath, d as getConfigValue,
|
|
3
|
+
export { c as ensureCodexHome, e as expandHomePath, g as getAgorHome, j as getBaseUrl, a as getConfigPath, d as getConfigValue, m as getCredential, h as getDaemonUrl, n as getDaemonUser, t as getDataHome, y as getDataHomeAsync, b as getDefaultConfig, v as getReposDir, z as getReposDirAsync, x as getWorktreePath, w as getWorktreesDir, A as getWorktreesDirAsync, i as initConfig, q as isUnixImpersonationEnabled, p as isWorktreeRbacEnabled, l as loadConfig, k as loadConfigSync, o as requireDaemonUser, r as resolveCodexHome, s as saveConfig, f as setConfigValue, u as unsetConfigValue } from './config-manager-CsBk-Rh2.cjs';
|
|
4
4
|
export { DAEMON, DATABASE, ENVIRONMENT, GIT, PAGINATION, RepoReference, RepoReferenceOption, SESSION, WEBSOCKET, extractSlugFromUrl, formatRepoReference, getDefaultRepoReference, getGroupedRepoReferenceOptions, getRepoReferenceOptions, isValidGitUrl, isValidSlug, parseRepoReference, resolveRepoReference } from './config/browser.cjs';
|
|
5
|
-
export { f as AgorCodexSettings, j as AgorConfig, i as AgorCredentials, b as AgorDaemonSettings, e as AgorDatabaseSettings, A as AgorDefaults, a as AgorDisplaySettings, g as AgorExecutionSettings, d as AgorOpenCodeSettings, h as AgorPathSettings, c as AgorUISettings, k as ConfigKey, C as CredentialKey, U as UnknownJson } from './types-
|
|
5
|
+
export { f as AgorCodexSettings, j as AgorConfig, i as AgorCredentials, b as AgorDaemonSettings, e as AgorDatabaseSettings, A as AgorDefaults, a as AgorDisplaySettings, g as AgorExecutionSettings, d as AgorOpenCodeSettings, h as AgorPathSettings, c as AgorUISettings, k as ConfigKey, C as CredentialKey, U as UnknownJson } from './types-Ddri21rw.cjs';
|
|
6
6
|
export { AmbiguousIdError, BaseRepository, BoardCommentsRepository, BoardObjectRepository, BoardRepository, CreateUserData, DEFAULT_ADMIN_USER, EntityNotFoundError, GatewayChannelRepository, IdResolutionError, InsertValues, MCPServerRepository, MessagesRepository, MigrationError, MutationResult, RawQueryResult, RepoRepository, RepositoryError, SessionMCPServerRepository, SessionRepository, SessionWithLastMessage, TaskRepository, ThreadSessionMapRepository, UnifiedQuery, UnifiedReturning, UsersRepository, WorktreeRepository, WorktreeSessionActivity, WorktreeWithZone, WorktreeWithZoneAndSessions, boardComments, boardObjects, boards, checkMigrationStatus, compare, createDefaultAdminUser, createUser, decryptApiKey, deleteFrom, encryptApiKey, executeAll, executeGet, executeRaw, executeRun, formatShortId, gatewayChannels, generateId, generateSlug, generateUniqueSlug, getOne, getUserByEmail, hash, identifyUrlParam, initializeDatabase, insert, insertOne, isEncrypted, isForeignKeyConstraintError, isPostgresDatabase, isSQLiteDatabase, isShortId, jsonExtract, mcpServers, messages, repos, resolveShortId, runMigrations, seedInitialData, select, sessionMcpServers, sessions, tasks, threadSessionMap, update, userExists, users, withSessionGuard, worktreeOwners, worktrees } from './db/index.cjs';
|
|
7
7
|
export { CloneOptions, CloneProgress, CloneResult, WorktreeInfo, cleanWorktree, cloneRepo, createWorktree, deleteRepoDirectory, deleteWorktreeDirectory, extractRepoName, getCurrentBranch, getCurrentSha, getDefaultBranch, getGitState, getRemoteBranches, getRemoteUrl, hasRemoteBranch, isClean, isGitRepo, isValidGitRepo, listWorktrees, pruneWorktrees, removeWorktree } from './git/index.cjs';
|
|
8
8
|
export { MCPTemplateContext, MCPTemplateResolutionResult, buildMCPTemplateContextFromEnv, resolveMcpServerEnv, resolveMcpServerTemplates, resolveMcpServersTemplates } from './mcp/index.cjs';
|
|
9
9
|
export { PermissionDecision, PermissionRequest } from './permissions/index.cjs';
|
|
10
|
-
export { b as AgenticTool, A as AgenticToolName, C as ClaudeCodePermissionMode, d as CodexApprovalPolicy, e as CodexNetworkAccess, a as CodexPermissionMode, c as CodexSandboxMode, G as GeminiPermissionMode, O as OpenCodePermissionMode, P as PermissionMode, h as ScheduledRunMetadata, f as Session, S as SessionStatus, i as SpawnConfig, g as getDefaultPermissionMode } from './session-
|
|
11
|
-
export { e as Board, a as BoardEntityObject, f as BoardExportBlob, d as BoardObject, B as BoardObjectType, M as MarkdownBoardObject, T as TextBoardObject, c as ZoneBoardObject, b as ZoneTrigger, Z as ZoneTriggerBehavior } from './board-
|
|
10
|
+
export { b as AgenticTool, A as AgenticToolName, C as ClaudeCodePermissionMode, d as CodexApprovalPolicy, e as CodexNetworkAccess, a as CodexPermissionMode, c as CodexSandboxMode, G as GeminiPermissionMode, O as OpenCodePermissionMode, P as PermissionMode, h as ScheduledRunMetadata, f as Session, S as SessionStatus, i as SpawnConfig, g as getDefaultPermissionMode } from './session-BJbTzw3y.cjs';
|
|
11
|
+
export { e as Board, a as BoardEntityObject, f as BoardExportBlob, d as BoardObject, B as BoardObjectType, M as MarkdownBoardObject, T as TextBoardObject, c as ZoneBoardObject, b as ZoneTrigger, Z as ZoneTriggerBehavior } from './board-ByCag4EG.cjs';
|
|
12
12
|
export { B as BoardComment, b as BoardCommentCreate, c as BoardCommentPatch, a as CommentAttachmentType, C as CommentReaction, R as ReactionSummary, g as getCommentAttachmentType, f as groupReactions, d as isReply, e as isResolvable, i as isThreadRoot } from './board-comment-D9NA4gOJ.cjs';
|
|
13
13
|
export { b as ContextFileDetail, a as ContextFileListItem, C as ContextFilePath } from './context-ByxGjp5l.cjs';
|
|
14
|
-
export { a as AuthenticatedParams, A as AuthenticatedUser, b as AuthenticationResult, B as BaseService, C as CreateHookContext, H as HookContext, Q as QueryParams, R as RBACParams, S as ServiceWithEvents } from './feathers-
|
|
14
|
+
export { a as AuthenticatedParams, A as AuthenticatedUser, b as AuthenticationResult, B as BaseService, C as CreateHookContext, H as HookContext, Q as QueryParams, R as RBACParams, S as ServiceWithEvents } from './feathers-Cyk1lpAM.cjs';
|
|
15
15
|
export { ActiveUser, CreateInput, CursorLeaveEvent, CursorMoveEvent, CursorMovedEvent, DeepReadonly, FileDetail, FileListItem, FileListResponse, FilePath, FlattenObject, PaginatedResult, PartialKeys, RemoteCursor, RequireKeys, SessionViewMode, UpdateInput, isDefined, isNonEmptyString } from './types/index.cjs';
|
|
16
|
-
export { C as ChannelType, b as GatewayAgenticConfig, c as GatewayChannel, G as GatewayChannelID, d as ThreadSessionMap, T as ThreadSessionMapID, a as ThreadStatus } from './gateway-
|
|
16
|
+
export { C as ChannelType, b as GatewayAgenticConfig, c as GatewayChannel, G as GatewayChannelID, d as ThreadSessionMap, T as ThreadSessionMapID, a as ThreadStatus } from './gateway-C2NOdrxu.cjs';
|
|
17
17
|
export { A as AgenticToolID, B as BoardID, C as CommentID, I as IDPrefix, M as MessageID, R as RepoID, a as SessionID, S as ShortID, T as TaskID, U as UUID, b as UserID, W as WorktreeID } from './id-BwPJtWxW.cjs';
|
|
18
18
|
export { C as CreateMCPServerInput, J as JSONSchema, d as MCPAuth, h as MCPCapabilities, l as MCPConfigFile, g as MCPPrompt, f as MCPResource, b as MCPScope, i as MCPServer, j as MCPServerFilters, M as MCPServerID, m as MCPServersConfig, c as MCPSource, k as MCPTestResult, e as MCPTool, a as MCPTransport, P as PromptArgument, S as SessionMCPServer, T as ToolPermission, U as UpdateMCPServerInput } from './mcp-DqadENYY.cjs';
|
|
19
19
|
export { C as ContentBlock, e as Message, f as MessageCreate, M as MessageRole, a as MessageStatus, b as MessageType, d as PermissionRequestContent, P as PermissionScope, c as PermissionStatus, S as StreamingEventType, T as ToolUse } from './message-DZitapX9.cjs';
|
|
20
20
|
export { b as Repo, h as RepoEnvironmentConfig, R as RepoSlug, a as RepoType, d as Worktree, c as WorktreeConfig, g as WorktreeEnvironmentInstance, W as WorktreeName, e as WorktreePermissionLevel, f as WorktreeScheduleConfig } from './worktree-hZImhblR.cjs';
|
|
21
21
|
export { b as Report, R as ReportPath, a as ReportTemplate, c as Task, T as TaskStatus } from './task-D5cWUcAY.cjs';
|
|
22
|
-
export { A as AudioPreferences, B as BaseUserFields, C as ChimeSound, e as CreateUserInput, b as DefaultAgenticConfig, a as DefaultAgenticToolConfig, D as DefaultModelConfig, E as EventStreamPreferences, f as UpdateUserInput, d as User, c as UserPreferences, U as UserRole } from './user-
|
|
22
|
+
export { A as AudioPreferences, B as BaseUserFields, C as ChimeSound, e as CreateUserInput, b as DefaultAgenticConfig, a as DefaultAgenticToolConfig, D as DefaultModelConfig, E as EventStreamPreferences, f as UpdateUserInput, d as User, c as UserPreferences, U as UserRole } from './user-LBRon9n1.cjs';
|
|
23
23
|
export { AGOR_DEFAULT_SHELL, AGOR_HOME_BASE, AGOR_USERS_GROUP, AGOR_WORKTREES_DIR, AGOR_ZELLIJ_CONFIG, BuildSpawnArgsOptions, CommandError, CommandExecutor, CommandResult, CreateExecutorOptions, DirectExecutor, DryRunExecutor, EnvironmentCommandType, ExecWithInputOptions, ImpersonationResult, LoggingExecutor, NoOpExecutor, REPO_GIT_PERMISSION_MODE, ResolveImpersonationOptions, RunAsUserOptions, SpawnEnvironmentCommandOptions, SudoCliExecutor, SudoCliExecutorConfig, SudoDirectExecutor, SymlinkCommands, ThrowingExecutor, UnixGroupCommands, UnixIntegrationConfig, UnixIntegrationService, UnixOperationResult, UnixUserCommands, UnixUserMode, UnixUserNotFoundError, WorktreePermissionModes, WorktreeSymlinkInfo, buildSpawnArgs, buildSymlinkInfo, checkAsUser, createAdminExecutor, createExecutor, escapeShellArg, generateRepoGroupName, generateUnixUsername, generateWorktreeGroupName, getGidFromGroupName, getUidFromUsername, getUserHomeDir, getUserWorktreesDir, getWorktreePermissionMode, getWorktreeSymlinkPath, isAutoGeneratedUsername, isValidRepoGroupName, isValidUnixUsername, isValidWorktreeGroupName, parseRepoGroupName, parseUnixUsername, parseWorktreeGroupName, resolveUnixUserForImpersonation, runAsUser, spawnEnvironmentCommand, unixUserExists, validateResolvedUnixUser } from './unix/index.cjs';
|
|
24
24
|
export { patchConsole, unpatchConsole } from './utils/logger.cjs';
|
|
25
25
|
export { default as authenticationClient } from '@feathersjs/authentication-client';
|
|
26
26
|
export { SQL, and, asc, desc, eq, inArray, like, or, sql } from 'drizzle-orm';
|
|
27
|
-
export { v as BoardCommentInsert, u as BoardCommentRow, k as BoardInsert, t as BoardObjectInsert, s as BoardObjectRow, B as BoardRow, e as DEFAULT_DB_PATH, d as Database, a as DatabaseConnectionError, D as DbConfig, w as GatewayChannelInsert, G as GatewayChannelRow, p as MCPServerInsert, o as MCPServerRow, j as MessageInsert, M as MessageRow, l as RepoInsert, R as RepoRow, h as SessionInsert, r as SessionMCPServerInsert, q as SessionMCPServerRow, S as SessionRow, i as TaskInsert, T as TaskRow, y as ThreadSessionMapInsert, x as ThreadSessionMapRow, n as UserInsert, U as UserRow, m as WorktreeInsert, W as WorktreeRow, c as createDatabase, b as createDatabaseAsync, f as createLocalDatabase, g as getDatabaseUrl } from './client-
|
|
27
|
+
export { v as BoardCommentInsert, u as BoardCommentRow, k as BoardInsert, t as BoardObjectInsert, s as BoardObjectRow, B as BoardRow, e as DEFAULT_DB_PATH, d as Database, a as DatabaseConnectionError, D as DbConfig, w as GatewayChannelInsert, G as GatewayChannelRow, p as MCPServerInsert, o as MCPServerRow, j as MessageInsert, M as MessageRow, l as RepoInsert, R as RepoRow, h as SessionInsert, r as SessionMCPServerInsert, q as SessionMCPServerRow, S as SessionRow, i as TaskInsert, T as TaskRow, y as ThreadSessionMapInsert, x as ThreadSessionMapRow, n as UserInsert, U as UserRow, m as WorktreeInsert, W as WorktreeRow, c as createDatabase, b as createDatabaseAsync, f as createLocalDatabase, g as getDatabaseUrl, z as sessionsRelations, A as worktreesRelations } from './client-gnSCmSyL.cjs';
|
|
28
28
|
export { simpleGit } from 'simple-git';
|
|
29
29
|
export { Id, NullableId, Paginated, Params, Service, ServiceMethods } from '@feathersjs/feathers';
|
|
30
30
|
import 'socket.io-client';
|