factory-factory 0.3.2 → 0.3.4
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/client/assets/{_basePickBy-DXuH24ai.js → _basePickBy-kS1IrKFQ.js} +1 -1
- package/dist/client/assets/{_baseUniq-CslDyWeR.js → _baseUniq-DisTPj-I.js} +1 -1
- package/dist/client/assets/{arc-2gvAyDbt.js → arc-CWpVTRns.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-DgcFaiEM.js → architectureDiagram-VXUJARFQ-Dp1AYPMt.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-x5GBnWvh.js → blockDiagram-VD42YOAC-DXpmez0y.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-BH1ALhYh.js → c4Diagram-YG6GDRKO-C6sDxR49.js} +1 -1
- package/dist/client/assets/channel-D5BCeybW.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-BrzGnqT-.js → chunk-4BX2VUAB-CQxlRbYu.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-l8A9_mQA.js → chunk-55IACEB6-DxubFDep.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-BsAqXKe3.js → chunk-B4BG7PRW-BtTQ0im9.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-IIbvvT0k.js → chunk-DI55MBZ5-C2tNYDZj.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-DLu7thHk.js → chunk-FMBD7UC4-kRQRN6vP.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-WRLtM-7j.js → chunk-QN33PNHL-DP72lCp6.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-Dsklvm2v.js → chunk-QZHKN3VN-BfxMFZDN.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-D06U47VI.js → chunk-TZMSLE5B-G3wPktxK.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-BUS1JDwr.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-BUS1JDwr.js +1 -0
- package/dist/client/assets/clone-C5xhPZw8.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-BYd0MvfE.js → cose-bilkent-S5V4N54A-QPsUxyAe.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-D-kPXmRT.js → dagre-6UL2VRFP-BAmsmcnI.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-QIglBDlg.js → diagram-PSM6KHXK-QA-3O0wr.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-CMd7cwDZ.js → diagram-QEK2KX5R-VZkRJLXU.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-TfTgUpyH.js → diagram-S2PKOQOG-DwLmogjW.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-DtuLC2xg.js → erDiagram-Q2GNP2WA-DMKIVzp4.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-DfgrrhwS.js → flowDiagram-NV44I4VS-op3xA_nS.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-D_dPspnH.js → ganttDiagram-JELNMOA3-nrnzVCJK.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-NY62KEGX-DJsigQIR.js → gitGraphDiagram-NY62KEGX-CK2ytvyZ.js} +1 -1
- package/dist/client/assets/{graph-B9NXnAuJ.js → graph-D_lEcPMk.js} +1 -1
- package/dist/client/assets/{index-DY2IN4MN.js → index-C2qHRaOH.js} +233 -231
- package/dist/client/assets/index-D5ywoSOH.css +1 -0
- package/dist/client/assets/{infoDiagram-WHAUD3N6-D5yAAuIK.js → infoDiagram-WHAUD3N6-DO5X8HkW.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-DMeR4Vy_.js → journeyDiagram-XKPGCS4Q-Bnhe4U1x.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-xNNLjBQO.js → kanban-definition-3W4ZIXB7-DpTaTXko.js} +1 -1
- package/dist/client/assets/{layout-Bv4qdz5g.js → layout-HT5qr--Q.js} +1 -1
- package/dist/client/assets/{linear-DOse4wNy.js → linear-CDmQ8HG8.js} +1 -1
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-BjuQGPGv.js → mindmap-definition-VGOIOE7T-zDr7s4o2.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-VvsVA8GJ.js → pieDiagram-ADFJNKIX-BVBJCvYL.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-oRc7Vk8X.js → quadrantDiagram-AYHSOK5B-DzdJzkAJ.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-Dq3exCr2.js → requirementDiagram-UZGBJVZJ-ChrLzx8S.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-Dzab26G_.js → sankeyDiagram-TZEHDZUN-GIzxIQQB.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-C0gbEvnf.js → sequenceDiagram-WL72ISMW-BHxEpSCU.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-lFd4FBIQ.js → stateDiagram-FKZM4ZOC-ByvdYZKl.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-ynQtAOKH.js +1 -0
- package/dist/client/assets/{terminal-instance-BI_R5Gu9.js → terminal-instance-xdECz0dx.js} +1 -1
- package/dist/client/assets/{timeline-definition-IT6M3QCI-DEWrwvzp.js → timeline-definition-IT6M3QCI-BcCmIxix.js} +1 -1
- package/dist/client/assets/{treemap-KMMF4GRG-5d3j9VOH.js → treemap-KMMF4GRG-CVpLLzhu.js} +1 -1
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-uBZMdNdc.js → xychartDiagram-PRI3JC2R-DrgKBPUM.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/prisma/generated/commonInputTypes.d.ts +0 -30
- package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
- package/dist/prisma/generated/internal/class.js +2 -2
- package/dist/prisma/generated/internal/class.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts +0 -2
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +0 -2
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +0 -2
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +0 -2
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/prisma/generated/models/Workspace.d.ts +1 -90
- package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
- package/dist/src/backend/app-context.d.ts +3 -2
- package/dist/src/backend/app-context.d.ts.map +1 -1
- package/dist/src/backend/app-context.js +2 -1
- package/dist/src/backend/app-context.js.map +1 -1
- package/dist/src/backend/domains/github/bridges.d.ts +0 -15
- package/dist/src/backend/domains/github/bridges.d.ts.map +1 -1
- package/dist/src/backend/domains/github/github-cli/mappers.d.ts +1 -1
- package/dist/src/backend/domains/github/github-cli/mappers.d.ts.map +1 -1
- package/dist/src/backend/domains/github/github-cli/mappers.js +1 -1
- package/dist/src/backend/domains/github/github-cli/mappers.js.map +1 -1
- package/dist/src/backend/domains/github/github-cli/schemas.d.ts +6 -6
- package/dist/src/backend/domains/github/github-cli.service.d.ts +1 -1
- package/dist/src/backend/domains/github/github-cli.service.d.ts.map +1 -1
- package/dist/src/backend/domains/github/github-cli.service.js.map +1 -1
- package/dist/src/backend/domains/github/github-domain-exports.test.js +1 -7
- package/dist/src/backend/domains/github/github-domain-exports.test.js.map +1 -1
- package/dist/src/backend/domains/github/index.d.ts +1 -3
- package/dist/src/backend/domains/github/index.d.ts.map +1 -1
- package/dist/src/backend/domains/github/index.js +0 -2
- package/dist/src/backend/domains/github/index.js.map +1 -1
- package/dist/src/backend/domains/ratchet/bridges.d.ts +2 -1
- package/dist/src/backend/domains/ratchet/bridges.d.ts.map +1 -1
- package/dist/src/backend/domains/ratchet/fixer-session.service.d.ts +1 -1
- package/dist/src/backend/domains/ratchet/fixer-session.service.d.ts.map +1 -1
- package/dist/src/backend/domains/ratchet/fixer-session.service.js +3 -1
- package/dist/src/backend/domains/ratchet/fixer-session.service.js.map +1 -1
- package/dist/src/backend/domains/ratchet/fixer-session.service.test.js +2 -1
- package/dist/src/backend/domains/ratchet/fixer-session.service.test.js.map +1 -1
- package/dist/src/backend/domains/ratchet/index.d.ts +0 -3
- package/dist/src/backend/domains/ratchet/index.d.ts.map +1 -1
- package/dist/src/backend/domains/ratchet/index.js +0 -2
- package/dist/src/backend/domains/ratchet/index.js.map +1 -1
- package/dist/src/backend/domains/ratchet/ratchet-domain-exports.test.js +1 -7
- package/dist/src/backend/domains/ratchet/ratchet-domain-exports.test.js.map +1 -1
- package/dist/src/backend/domains/ratchet/ratchet.service.d.ts +1 -1
- package/dist/src/backend/domains/ratchet/ratchet.service.d.ts.map +1 -1
- package/dist/src/backend/domains/ratchet/ratchet.service.js +1 -1
- package/dist/src/backend/domains/ratchet/ratchet.service.js.map +1 -1
- package/dist/src/backend/domains/ratchet/ratchet.service.test.js +1 -1
- package/dist/src/backend/domains/ratchet/ratchet.service.test.js.map +1 -1
- package/dist/src/backend/domains/ratchet/reconciliation.service.js +1 -1
- package/dist/src/backend/domains/ratchet/reconciliation.service.js.map +1 -1
- package/dist/src/backend/domains/run-script/run-script-state-machine.service.d.ts +1 -1
- package/dist/src/backend/domains/run-script/run-script-state-machine.service.d.ts.map +1 -1
- package/dist/src/backend/domains/run-script/run-script-state-machine.service.js.map +1 -1
- package/dist/src/backend/domains/run-script/run-script.service.d.ts +1 -1
- package/dist/src/backend/domains/session/acp/acp-event-translator.d.ts +3 -0
- package/dist/src/backend/domains/session/acp/acp-event-translator.d.ts.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-event-translator.js +47 -56
- package/dist/src/backend/domains/session/acp/acp-event-translator.js.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-permission-bridge.d.ts +3 -1
- package/dist/src/backend/domains/session/acp/acp-permission-bridge.d.ts.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-permission-bridge.js +10 -1
- package/dist/src/backend/domains/session/acp/acp-permission-bridge.js.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-permission-bridge.test.js +24 -0
- package/dist/src/backend/domains/session/acp/acp-permission-bridge.test.js.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.d.ts.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.js +176 -18
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.js.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.js +40 -0
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.manual.integration.test.js.map +1 -0
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.test.js +88 -1
- package/dist/src/backend/domains/session/acp/acp-runtime-manager.test.js.map +1 -1
- package/dist/src/backend/domains/session/acp/acp-session-negotiation.integration.test.js +13 -1
- package/dist/src/backend/domains/session/acp/acp-session-negotiation.integration.test.js.map +1 -1
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +85 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +1794 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.js +92 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.manual.integration.test.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +1407 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.d.ts +46 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.js +238 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.js +140 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-rpc-client.test.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.js +35 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-schema-snapshot.test.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.d.ts +314 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.js +308 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.js +147 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/codex-zod.test.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.js +2 -0
- package/dist/src/backend/domains/session/acp/codex-app-server-adapter/index.js.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.d.ts +2 -0
- package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.js +64 -0
- package/dist/src/backend/domains/session/acp/codex-cli-import-resolution.integration.test.js.map +1 -0
- package/dist/src/backend/domains/session/acp/index.d.ts +1 -0
- package/dist/src/backend/domains/session/acp/index.d.ts.map +1 -1
- package/dist/src/backend/domains/session/acp/index.js +1 -0
- package/dist/src/backend/domains/session/acp/index.js.map +1 -1
- package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/permission-response.handler.d.ts.map +1 -1
- package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/permission-response.handler.js +3 -2
- package/dist/src/backend/domains/session/chat/chat-message-handlers/handlers/permission-response.handler.js.map +1 -1
- package/dist/src/backend/domains/session/chat/chat-message-handlers.service.d.ts.map +1 -1
- package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js +13 -11
- package/dist/src/backend/domains/session/chat/chat-message-handlers.service.js.map +1 -1
- package/dist/src/backend/domains/session/chat/chat-message-handlers.service.test.js +9 -0
- package/dist/src/backend/domains/session/chat/chat-message-handlers.service.test.js.map +1 -1
- package/dist/src/backend/domains/session/data/claude-session-history-loader.service.d.ts.map +1 -1
- package/dist/src/backend/domains/session/data/claude-session-history-loader.service.js +17 -29
- package/dist/src/backend/domains/session/data/claude-session-history-loader.service.js.map +1 -1
- package/dist/src/backend/domains/session/data/codex-session-history-loader.service.d.ts +1 -0
- package/dist/src/backend/domains/session/data/codex-session-history-loader.service.d.ts.map +1 -1
- package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js +152 -74
- package/dist/src/backend/domains/session/data/codex-session-history-loader.service.js.map +1 -1
- package/dist/src/backend/domains/session/data/codex-session-history-loader.service.test.js +96 -0
- package/dist/src/backend/domains/session/data/codex-session-history-loader.service.test.js.map +1 -1
- package/dist/src/backend/domains/session/data/session-data.service.d.ts +7 -10
- package/dist/src/backend/domains/session/data/session-data.service.d.ts.map +1 -1
- package/dist/src/backend/domains/session/data/session-data.service.js +3 -0
- package/dist/src/backend/domains/session/data/session-data.service.js.map +1 -1
- package/dist/src/backend/domains/session/data/session-history-jsonl-reader.d.ts +6 -0
- package/dist/src/backend/domains/session/data/session-history-jsonl-reader.d.ts.map +1 -0
- package/dist/src/backend/domains/session/data/session-history-jsonl-reader.js +25 -0
- package/dist/src/backend/domains/session/data/session-history-jsonl-reader.js.map +1 -0
- package/dist/src/backend/domains/session/data/session-provider-resolver.service.test.js +0 -2
- package/dist/src/backend/domains/session/data/session-provider-resolver.service.test.js.map +1 -1
- package/dist/src/backend/domains/session/index.d.ts +2 -1
- package/dist/src/backend/domains/session/index.d.ts.map +1 -1
- package/dist/src/backend/domains/session/index.js +2 -1
- package/dist/src/backend/domains/session/index.js.map +1 -1
- package/dist/src/backend/domains/session/lifecycle/session.repository.d.ts +2 -2
- package/dist/src/backend/domains/session/lifecycle/session.repository.d.ts.map +1 -1
- package/dist/src/backend/domains/session/lifecycle/session.repository.js.map +1 -1
- package/dist/src/backend/domains/session/lifecycle/session.service.d.ts +31 -3
- package/dist/src/backend/domains/session/lifecycle/session.service.d.ts.map +1 -1
- package/dist/src/backend/domains/session/lifecycle/session.service.js +448 -51
- package/dist/src/backend/domains/session/lifecycle/session.service.js.map +1 -1
- package/dist/src/backend/domains/session/lifecycle/session.service.test.js +494 -3
- package/dist/src/backend/domains/session/lifecycle/session.service.test.js.map +1 -1
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.d.ts +15 -0
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.d.ts.map +1 -0
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.js +135 -0
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.js.map +1 -0
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.d.ts +2 -0
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.d.ts.map +1 -0
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.js +93 -0
- package/dist/src/backend/domains/session/logging/acp-trace-logger.service.test.js.map +1 -0
- package/dist/src/backend/domains/session/store/session-replay-builder.d.ts.map +1 -1
- package/dist/src/backend/domains/session/store/session-replay-builder.js +2 -1
- package/dist/src/backend/domains/session/store/session-replay-builder.js.map +1 -1
- package/dist/src/backend/domains/session/store/session-replay-builder.test.js +26 -0
- package/dist/src/backend/domains/session/store/session-replay-builder.test.js.map +1 -1
- package/dist/src/backend/domains/workspace/bridges.d.ts +1 -0
- package/dist/src/backend/domains/workspace/bridges.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/index.d.ts +1 -0
- package/dist/src/backend/domains/workspace/index.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/index.js +1 -0
- package/dist/src/backend/domains/workspace/index.js.map +1 -1
- package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js +0 -2
- package/dist/src/backend/domains/workspace/lifecycle/creation.service.test.js.map +1 -1
- package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts +11 -25
- package/dist/src/backend/domains/workspace/lifecycle/data.service.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/lifecycle/data.service.js.map +1 -1
- package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.d.ts +1 -1
- package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/lifecycle/state-machine.service.js.map +1 -1
- package/dist/src/backend/domains/workspace/query/project-management.service.d.ts +2 -6
- package/dist/src/backend/domains/workspace/query/project-management.service.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts +84 -8
- package/dist/src/backend/domains/workspace/query/workspace-query.service.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/query/workspace-query.service.js +16 -16
- package/dist/src/backend/domains/workspace/query/workspace-query.service.js.map +1 -1
- package/dist/src/backend/domains/workspace/query/workspace-query.service.test.d.ts +2 -0
- package/dist/src/backend/domains/workspace/query/workspace-query.service.test.d.ts.map +1 -0
- package/dist/src/backend/domains/workspace/query/workspace-query.service.test.js +165 -0
- package/dist/src/backend/domains/workspace/query/workspace-query.service.test.js.map +1 -0
- package/dist/src/backend/domains/workspace/state/flow-state.d.ts +1 -1
- package/dist/src/backend/domains/workspace/state/flow-state.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/state/flow-state.js +1 -1
- package/dist/src/backend/domains/workspace/state/flow-state.js.map +1 -1
- package/dist/src/backend/domains/workspace/state/flow-state.test.js +1 -1
- package/dist/src/backend/domains/workspace/state/flow-state.test.js.map +1 -1
- package/dist/src/backend/domains/workspace/state/init-policy.d.ts +1 -1
- package/dist/src/backend/domains/workspace/state/init-policy.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/state/kanban-state.d.ts +1 -1
- package/dist/src/backend/domains/workspace/state/kanban-state.d.ts.map +1 -1
- package/dist/src/backend/domains/workspace/state/kanban-state.js +1 -1
- package/dist/src/backend/domains/workspace/state/kanban-state.js.map +1 -1
- package/dist/src/backend/domains/workspace/state/pending-request-type.d.ts +6 -0
- package/dist/src/backend/domains/workspace/state/pending-request-type.d.ts.map +1 -0
- package/dist/src/backend/domains/workspace/state/pending-request-type.js +27 -0
- package/dist/src/backend/domains/workspace/state/pending-request-type.js.map +1 -0
- package/dist/src/backend/domains/workspace/state/pending-request-type.test.d.ts +2 -0
- package/dist/src/backend/domains/workspace/state/pending-request-type.test.d.ts.map +1 -0
- package/dist/src/backend/domains/workspace/state/pending-request-type.test.js +44 -0
- package/dist/src/backend/domains/workspace/state/pending-request-type.test.js.map +1 -0
- package/dist/src/backend/domains/workspace/worktree/worktree-init.test.js +10 -3
- package/dist/src/backend/domains/workspace/worktree/worktree-init.test.js.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.d.ts.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.js +53 -8
- package/dist/src/backend/interceptors/pr-detection.interceptor.js.map +1 -1
- package/dist/src/backend/interceptors/pr-detection.interceptor.test.d.ts +2 -0
- package/dist/src/backend/interceptors/pr-detection.interceptor.test.d.ts.map +1 -0
- package/dist/src/backend/interceptors/pr-detection.interceptor.test.js +106 -0
- package/dist/src/backend/interceptors/pr-detection.interceptor.test.js.map +1 -0
- package/dist/src/backend/lib/session-model.js +1 -1
- package/dist/src/backend/lib/session-model.js.map +1 -1
- package/dist/src/backend/lib/session-model.test.js +1 -1
- package/dist/src/backend/lib/session-model.test.js.map +1 -1
- package/dist/src/backend/lib/session-summaries.d.ts +1 -1
- package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.js +0 -4
- package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.test.js +1 -5
- package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +3 -19
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +13 -27
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +1 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +1 -15
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +97 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +1 -3
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js +5 -2
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +2 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
- package/dist/src/backend/resource_accessors/agent-session.accessor.d.ts +2 -1
- package/dist/src/backend/resource_accessors/agent-session.accessor.d.ts.map +1 -1
- package/dist/src/backend/resource_accessors/agent-session.accessor.js +11 -1
- package/dist/src/backend/resource_accessors/agent-session.accessor.js.map +1 -1
- package/dist/src/backend/resource_accessors/agent-session.accessor.test.d.ts +2 -0
- package/dist/src/backend/resource_accessors/agent-session.accessor.test.d.ts.map +1 -0
- package/dist/src/backend/resource_accessors/agent-session.accessor.test.js +148 -0
- package/dist/src/backend/resource_accessors/agent-session.accessor.test.js.map +1 -0
- package/dist/src/backend/resource_accessors/terminal-session.accessor.d.ts +1 -1
- package/dist/src/backend/resource_accessors/terminal-session.accessor.d.ts.map +1 -1
- package/dist/src/backend/resource_accessors/terminal-session.accessor.js.map +1 -1
- package/dist/src/backend/resource_accessors/workspace.accessor.d.ts +1 -16
- package/dist/src/backend/resource_accessors/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/resource_accessors/workspace.accessor.js +0 -33
- package/dist/src/backend/resource_accessors/workspace.accessor.js.map +1 -1
- package/dist/src/backend/schemas/tool-inputs.schema.d.ts +2 -0
- package/dist/src/backend/schemas/tool-inputs.schema.d.ts.map +1 -1
- package/dist/src/backend/schemas/tool-inputs.schema.js +1 -0
- package/dist/src/backend/schemas/tool-inputs.schema.js.map +1 -1
- package/dist/src/backend/server.d.ts.map +1 -1
- package/dist/src/backend/server.js +3 -1
- package/dist/src/backend/server.js.map +1 -1
- package/dist/src/backend/server.upgrade.test.js +4 -0
- package/dist/src/backend/server.upgrade.test.js.map +1 -1
- package/dist/src/backend/services/constants.d.ts +0 -5
- package/dist/src/backend/services/constants.d.ts.map +1 -1
- package/dist/src/backend/services/constants.js +0 -5
- package/dist/src/backend/services/constants.js.map +1 -1
- package/dist/src/backend/services/workspace-snapshot-store.service.d.ts +3 -3
- package/dist/src/backend/services/workspace-snapshot-store.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace-snapshot-store.service.test.js +1 -1
- package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
- package/dist/src/backend/trpc/admin-active-processes.d.ts +55 -0
- package/dist/src/backend/trpc/admin-active-processes.d.ts.map +1 -0
- package/dist/src/backend/trpc/admin-active-processes.js +103 -0
- package/dist/src/backend/trpc/admin-active-processes.js.map +1 -0
- package/dist/src/backend/trpc/admin-active-processes.test.d.ts +2 -0
- package/dist/src/backend/trpc/admin-active-processes.test.d.ts.map +1 -0
- package/dist/src/backend/trpc/admin-active-processes.test.js +105 -0
- package/dist/src/backend/trpc/admin-active-processes.test.js.map +1 -0
- package/dist/src/backend/trpc/admin.trpc.d.ts +19 -46
- package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.js +29 -128
- package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
- package/dist/src/backend/trpc/decision-log.trpc.d.ts +3 -3
- package/dist/src/backend/trpc/index.d.ts +158 -126
- package/dist/src/backend/trpc/index.d.ts.map +1 -1
- package/dist/src/backend/trpc/log-file-reader.d.ts +26 -0
- package/dist/src/backend/trpc/log-file-reader.d.ts.map +1 -0
- package/dist/src/backend/trpc/log-file-reader.js +160 -0
- package/dist/src/backend/trpc/log-file-reader.js.map +1 -0
- package/dist/src/backend/trpc/log-file-reader.test.d.ts +2 -0
- package/dist/src/backend/trpc/log-file-reader.test.d.ts.map +1 -0
- package/dist/src/backend/trpc/log-file-reader.test.js +162 -0
- package/dist/src/backend/trpc/log-file-reader.test.js.map +1 -0
- package/dist/src/backend/trpc/project.trpc.d.ts +2 -6
- package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.d.ts +25 -33
- package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.js +1 -1
- package/dist/src/backend/trpc/session.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts +4 -6
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/run-script.trpc.d.ts +1 -1
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +5 -9
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts +109 -45
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +9 -1
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/src/cli/index.js +7 -2
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/shared/acp-protocol/protocol/interaction.d.ts +2 -0
- package/dist/src/shared/acp-protocol/protocol/interaction.d.ts.map +1 -1
- package/dist/src/shared/acp-protocol/protocol/websocket.d.ts +1 -0
- package/dist/src/shared/acp-protocol/protocol/websocket.d.ts.map +1 -1
- package/dist/src/shared/acp-protocol/protocol/websocket.js.map +1 -1
- package/{packages/core/dist/shared → dist/src/shared/core}/ci-status.d.ts +1 -1
- package/dist/src/shared/core/ci-status.d.ts.map +1 -0
- package/dist/src/shared/core/ci-status.js.map +1 -0
- package/dist/src/shared/core/enums.d.ts.map +1 -0
- package/dist/src/shared/core/enums.js.map +1 -0
- package/{packages/core/dist → dist/src/shared/core}/index.d.ts +3 -3
- package/dist/src/shared/core/index.d.ts.map +1 -0
- package/{packages/core/dist → dist/src/shared/core}/index.js +3 -7
- package/dist/src/shared/core/index.js.map +1 -0
- package/{packages/core/dist/shared → dist/src/shared/core}/workspace-sidebar-status.d.ts +1 -1
- package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -0
- package/dist/src/shared/core/workspace-sidebar-status.js.map +1 -0
- package/dist/src/shared/pending-request-types.d.ts +4 -0
- package/dist/src/shared/pending-request-types.d.ts.map +1 -1
- package/dist/src/shared/pending-request-types.js +10 -0
- package/dist/src/shared/pending-request-types.js.map +1 -1
- package/dist/src/shared/schemas/export-data.schema.d.ts +34 -52
- package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
- package/dist/src/shared/schemas/export-data.schema.js +1 -3
- package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
- package/dist/src/shared/session-runtime.d.ts +1 -1
- package/dist/src/shared/session-runtime.d.ts.map +1 -1
- package/dist/src/shared/websocket/chat-message.schema.d.ts +1 -0
- package/dist/src/shared/websocket/chat-message.schema.d.ts.map +1 -1
- package/dist/src/shared/websocket/chat-message.schema.js +1 -0
- package/dist/src/shared/websocket/chat-message.schema.js.map +1 -1
- package/dist/src/shared/workspace-sidebar-status.d.ts +1 -1
- package/dist/src/shared/workspace-sidebar-status.d.ts.map +1 -1
- package/dist/src/shared/workspace-sidebar-status.js +1 -1
- package/dist/src/shared/workspace-sidebar-status.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +4 -5
- package/prisma/migrations/20260214232046_remove_ratchet_last_modified/migration.sql +68 -0
- package/prisma/schema.prisma +0 -2
- package/dist/client/assets/channel-C_n33uex.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-ByvTr4wu.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-ByvTr4wu.js +0 -1
- package/dist/client/assets/clone-CVeCVXXl.js +0 -1
- package/dist/client/assets/index-D_8rf7lP.css +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-C7liWkST.js +0 -1
- package/dist/src/backend/domains/github/pr-review-fixer.service.d.ts +0 -63
- package/dist/src/backend/domains/github/pr-review-fixer.service.d.ts.map +0 -1
- package/dist/src/backend/domains/github/pr-review-fixer.service.js +0 -141
- package/dist/src/backend/domains/github/pr-review-fixer.service.js.map +0 -1
- package/dist/src/backend/domains/github/pr-review-fixer.service.test.d.ts +0 -2
- package/dist/src/backend/domains/github/pr-review-fixer.service.test.d.ts.map +0 -1
- package/dist/src/backend/domains/github/pr-review-fixer.service.test.js +0 -28
- package/dist/src/backend/domains/github/pr-review-fixer.service.test.js.map +0 -1
- package/dist/src/backend/domains/github/pr-review-monitor.service.d.ts +0 -19
- package/dist/src/backend/domains/github/pr-review-monitor.service.d.ts.map +0 -1
- package/dist/src/backend/domains/github/pr-review-monitor.service.js +0 -215
- package/dist/src/backend/domains/github/pr-review-monitor.service.js.map +0 -1
- package/dist/src/backend/domains/ratchet/ci-fixer.service.d.ts +0 -47
- package/dist/src/backend/domains/ratchet/ci-fixer.service.d.ts.map +0 -1
- package/dist/src/backend/domains/ratchet/ci-fixer.service.js +0 -95
- package/dist/src/backend/domains/ratchet/ci-fixer.service.js.map +0 -1
- package/dist/src/backend/domains/ratchet/ci-fixer.service.test.d.ts +0 -2
- package/dist/src/backend/domains/ratchet/ci-fixer.service.test.d.ts.map +0 -1
- package/dist/src/backend/domains/ratchet/ci-fixer.service.test.js +0 -100
- package/dist/src/backend/domains/ratchet/ci-fixer.service.test.js.map +0 -1
- package/dist/src/backend/domains/ratchet/ci-monitor.service.d.ts +0 -36
- package/dist/src/backend/domains/ratchet/ci-monitor.service.d.ts.map +0 -1
- package/dist/src/backend/domains/ratchet/ci-monitor.service.js +0 -278
- package/dist/src/backend/domains/ratchet/ci-monitor.service.js.map +0 -1
- package/dist/src/backend/services/fixer-workflow.service.d.ts +0 -83
- package/dist/src/backend/services/fixer-workflow.service.d.ts.map +0 -1
- package/dist/src/backend/services/fixer-workflow.service.js +0 -77
- package/dist/src/backend/services/fixer-workflow.service.js.map +0 -1
- package/dist/src/backend/services/fixer-workflow.service.test.d.ts +0 -2
- package/dist/src/backend/services/fixer-workflow.service.test.d.ts.map +0 -1
- package/dist/src/backend/services/fixer-workflow.service.test.js +0 -55
- package/dist/src/backend/services/fixer-workflow.service.test.js.map +0 -1
- package/packages/core/dist/index.d.ts.map +0 -1
- package/packages/core/dist/index.js.map +0 -1
- package/packages/core/dist/shared/ci-status.d.ts.map +0 -1
- package/packages/core/dist/shared/ci-status.js.map +0 -1
- package/packages/core/dist/shared/workspace-sidebar-status.d.ts.map +0 -1
- package/packages/core/dist/shared/workspace-sidebar-status.js.map +0 -1
- package/packages/core/dist/types/enums.d.ts.map +0 -1
- package/packages/core/dist/types/enums.js.map +0 -1
- package/packages/core/dist/types/index.d.ts +0 -2
- package/packages/core/dist/types/index.d.ts.map +0 -1
- package/packages/core/dist/types/index.js +0 -2
- package/packages/core/dist/types/index.js.map +0 -1
- package/packages/core/package.json +0 -25
- /package/{packages/core/dist/shared → dist/src/shared/core}/ci-status.js +0 -0
- /package/{packages/core/dist/types → dist/src/shared/core}/enums.d.ts +0 -0
- /package/{packages/core/dist/types → dist/src/shared/core}/enums.js +0 -0
- /package/{packages/core/dist/shared → dist/src/shared/core}/workspace-sidebar-status.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASpB,CAAC;AAGH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface ParsedLogEntry {
|
|
2
|
+
level: string;
|
|
3
|
+
timestamp: string;
|
|
4
|
+
message: string;
|
|
5
|
+
component: string;
|
|
6
|
+
context: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
export interface LogFilter {
|
|
9
|
+
level?: string;
|
|
10
|
+
search?: string;
|
|
11
|
+
sinceMs?: number | null;
|
|
12
|
+
untilMs?: number | null;
|
|
13
|
+
}
|
|
14
|
+
interface LogPagination {
|
|
15
|
+
limit: number;
|
|
16
|
+
offset: number;
|
|
17
|
+
}
|
|
18
|
+
export interface LogPageResult {
|
|
19
|
+
entries: ParsedLogEntry[];
|
|
20
|
+
total: number;
|
|
21
|
+
totalIsExact: boolean;
|
|
22
|
+
hasMore: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function readFilteredLogEntriesPage(filePath: string, filter: LogFilter, pagination: LogPagination): Promise<LogPageResult>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=log-file-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-file-reader.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/log-file-reader.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAuJD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,aAAa,GACxB,OAAO,CAAC,aAAa,CAAC,CAyDxB"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { open } from 'node:fs/promises';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
const RawLogEntrySchema = z.object({
|
|
4
|
+
level: z.string(),
|
|
5
|
+
timestamp: z.string().optional(),
|
|
6
|
+
message: z.string().optional(),
|
|
7
|
+
context: z.record(z.string(), z.unknown()).optional(),
|
|
8
|
+
});
|
|
9
|
+
const LOG_READ_CHUNK_SIZE_BYTES = 64 * 1024;
|
|
10
|
+
function matchesTimestamp(timestamp, filter) {
|
|
11
|
+
const hasTimeFilter = filter.sinceMs != null || filter.untilMs != null;
|
|
12
|
+
if (!(timestamp && hasTimeFilter)) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
const ts = new Date(timestamp).getTime();
|
|
16
|
+
if (Number.isNaN(ts)) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (filter.sinceMs != null && ts < filter.sinceMs) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (filter.untilMs != null && ts > filter.untilMs) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function matchesLogFilter(entry, filter) {
|
|
28
|
+
if (filter.level && entry.level !== filter.level) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (!matchesTimestamp(entry.timestamp, filter)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (filter.search) {
|
|
35
|
+
const msg = entry.message?.toLowerCase() ?? '';
|
|
36
|
+
const comp = typeof entry.context?.component === 'string' ? entry.context.component : undefined;
|
|
37
|
+
if (!(msg.includes(filter.search) || comp?.toLowerCase().includes(filter.search))) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
function toParsedLogEntry(entry) {
|
|
44
|
+
return {
|
|
45
|
+
level: entry.level,
|
|
46
|
+
timestamp: entry.timestamp ?? '',
|
|
47
|
+
message: entry.message ?? '',
|
|
48
|
+
component: typeof entry.context?.component === 'string' ? entry.context.component : '',
|
|
49
|
+
context: entry.context ?? {},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function parseLogLine(line) {
|
|
53
|
+
if (!line) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const rawEntry = JSON.parse(line);
|
|
58
|
+
const parsedEntry = RawLogEntrySchema.safeParse(rawEntry);
|
|
59
|
+
if (!parsedEntry.success) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return parsedEntry.data;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const NEWLINE_BYTE = 0x0a;
|
|
69
|
+
const CARRIAGE_RETURN_BYTE = 0x0d;
|
|
70
|
+
const EMPTY_BUFFER = Buffer.alloc(0);
|
|
71
|
+
function splitChunkIntoLineBuffers(chunk, carry, hasOlderData) {
|
|
72
|
+
const joined = carry.length > 0 ? Buffer.concat([chunk, carry]) : chunk;
|
|
73
|
+
const lineBuffers = [];
|
|
74
|
+
let segmentStart = 0;
|
|
75
|
+
for (let i = 0; i < joined.length; i += 1) {
|
|
76
|
+
if (joined[i] !== NEWLINE_BYTE) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
let segmentEnd = i;
|
|
80
|
+
if (segmentEnd > segmentStart && joined[segmentEnd - 1] === CARRIAGE_RETURN_BYTE) {
|
|
81
|
+
segmentEnd -= 1;
|
|
82
|
+
}
|
|
83
|
+
lineBuffers.push(joined.subarray(segmentStart, segmentEnd));
|
|
84
|
+
segmentStart = i + 1;
|
|
85
|
+
}
|
|
86
|
+
let finalEnd = joined.length;
|
|
87
|
+
if (finalEnd > segmentStart && joined[finalEnd - 1] === CARRIAGE_RETURN_BYTE) {
|
|
88
|
+
finalEnd -= 1;
|
|
89
|
+
}
|
|
90
|
+
lineBuffers.push(joined.subarray(segmentStart, finalEnd));
|
|
91
|
+
if (!hasOlderData) {
|
|
92
|
+
return { lineBuffers, nextCarry: EMPTY_BUFFER };
|
|
93
|
+
}
|
|
94
|
+
const [nextCarry = EMPTY_BUFFER, ...rest] = lineBuffers;
|
|
95
|
+
return {
|
|
96
|
+
lineBuffers: rest,
|
|
97
|
+
nextCarry,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function processLine(line, filter, pagination, targetMatches, state) {
|
|
101
|
+
const rawEntry = parseLogLine(line);
|
|
102
|
+
if (!(rawEntry && matchesLogFilter(rawEntry, filter))) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (state.matchedCount >= pagination.offset && state.entries.length < pagination.limit) {
|
|
106
|
+
state.entries.push(toParsedLogEntry(rawEntry));
|
|
107
|
+
}
|
|
108
|
+
state.matchedCount += 1;
|
|
109
|
+
if (state.matchedCount >= targetMatches) {
|
|
110
|
+
state.hasMore = true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export async function readFilteredLogEntriesPage(filePath, filter, pagination) {
|
|
114
|
+
const targetMatches = pagination.offset + pagination.limit + 1;
|
|
115
|
+
const state = {
|
|
116
|
+
entries: [],
|
|
117
|
+
matchedCount: 0,
|
|
118
|
+
hasMore: false,
|
|
119
|
+
};
|
|
120
|
+
const file = await open(filePath, 'r');
|
|
121
|
+
try {
|
|
122
|
+
const { size } = await file.stat();
|
|
123
|
+
if (size <= 0) {
|
|
124
|
+
return {
|
|
125
|
+
entries: [],
|
|
126
|
+
total: 0,
|
|
127
|
+
totalIsExact: true,
|
|
128
|
+
hasMore: false,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
let position = size;
|
|
132
|
+
let carry = EMPTY_BUFFER;
|
|
133
|
+
while (position > 0 && !state.hasMore) {
|
|
134
|
+
const readSize = Math.min(LOG_READ_CHUNK_SIZE_BYTES, position);
|
|
135
|
+
position -= readSize;
|
|
136
|
+
const buffer = Buffer.alloc(readSize);
|
|
137
|
+
const { bytesRead } = await file.read(buffer, 0, readSize, position);
|
|
138
|
+
const chunk = buffer.subarray(0, bytesRead);
|
|
139
|
+
const chunkResult = splitChunkIntoLineBuffers(chunk, carry, position > 0);
|
|
140
|
+
carry = chunkResult.nextCarry;
|
|
141
|
+
for (let i = chunkResult.lineBuffers.length - 1; i >= 0; i -= 1) {
|
|
142
|
+
processLine(chunkResult.lineBuffers[i]?.toString('utf-8') ?? '', filter, pagination, targetMatches, state);
|
|
143
|
+
if (state.hasMore) {
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const lowerBoundTotal = pagination.offset + state.entries.length + (state.hasMore ? 1 : 0);
|
|
149
|
+
return {
|
|
150
|
+
entries: state.entries,
|
|
151
|
+
total: state.hasMore ? lowerBoundTotal : state.matchedCount,
|
|
152
|
+
totalIsExact: !state.hasMore,
|
|
153
|
+
hasMore: state.hasMore,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
await file.close();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=log-file-reader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-file-reader.js","sourceRoot":"","sources":["../../../../src/backend/trpc/log-file-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-file-reader.test.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/log-file-reader.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { afterEach, describe, expect, it } from 'vitest';
|
|
5
|
+
import { readFilteredLogEntriesPage } from './log-file-reader.js';
|
|
6
|
+
function makeLogLine(entry) {
|
|
7
|
+
return JSON.stringify({
|
|
8
|
+
level: entry.level,
|
|
9
|
+
timestamp: entry.timestamp,
|
|
10
|
+
message: entry.message,
|
|
11
|
+
context: {
|
|
12
|
+
component: entry.component ?? 'test-component',
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
describe('readFilteredLogEntriesPage', () => {
|
|
17
|
+
const tempDirs = [];
|
|
18
|
+
afterEach(async () => {
|
|
19
|
+
await Promise.all(tempDirs.map((dir) => rm(dir, { recursive: true, force: true })));
|
|
20
|
+
tempDirs.length = 0;
|
|
21
|
+
});
|
|
22
|
+
async function writeLogFile(lines) {
|
|
23
|
+
const dir = await mkdtemp(join(tmpdir(), 'log-reader-test-'));
|
|
24
|
+
tempDirs.push(dir);
|
|
25
|
+
const filePath = join(dir, 'server.log');
|
|
26
|
+
await writeFile(filePath, `${lines.join('\n')}\n`, 'utf-8');
|
|
27
|
+
return filePath;
|
|
28
|
+
}
|
|
29
|
+
it('returns newest matching entries first and marks total as lower-bound when truncated', async () => {
|
|
30
|
+
const filePath = await writeLogFile([
|
|
31
|
+
makeLogLine({
|
|
32
|
+
level: 'info',
|
|
33
|
+
message: 'oldest',
|
|
34
|
+
timestamp: '2026-01-01T00:00:00.000Z',
|
|
35
|
+
}),
|
|
36
|
+
makeLogLine({
|
|
37
|
+
level: 'info',
|
|
38
|
+
message: 'middle',
|
|
39
|
+
timestamp: '2026-01-01T00:00:01.000Z',
|
|
40
|
+
}),
|
|
41
|
+
makeLogLine({
|
|
42
|
+
level: 'info',
|
|
43
|
+
message: 'newest',
|
|
44
|
+
timestamp: '2026-01-01T00:00:02.000Z',
|
|
45
|
+
}),
|
|
46
|
+
]);
|
|
47
|
+
const result = await readFilteredLogEntriesPage(filePath, {}, { offset: 0, limit: 2 });
|
|
48
|
+
expect(result.entries.map((entry) => entry.message)).toEqual(['newest', 'middle']);
|
|
49
|
+
expect(result.hasMore).toBe(true);
|
|
50
|
+
expect(result.totalIsExact).toBe(false);
|
|
51
|
+
expect(result.total).toBe(3);
|
|
52
|
+
});
|
|
53
|
+
it('returns exact totals when all matching entries are scanned', async () => {
|
|
54
|
+
const filePath = await writeLogFile([
|
|
55
|
+
makeLogLine({
|
|
56
|
+
level: 'info',
|
|
57
|
+
message: 'only-one',
|
|
58
|
+
timestamp: '2026-01-01T00:00:00.000Z',
|
|
59
|
+
}),
|
|
60
|
+
makeLogLine({
|
|
61
|
+
level: 'warn',
|
|
62
|
+
message: 'only-two',
|
|
63
|
+
timestamp: '2026-01-01T00:00:01.000Z',
|
|
64
|
+
}),
|
|
65
|
+
]);
|
|
66
|
+
const result = await readFilteredLogEntriesPage(filePath, {}, { offset: 0, limit: 10 });
|
|
67
|
+
expect(result.entries.map((entry) => entry.message)).toEqual(['only-two', 'only-one']);
|
|
68
|
+
expect(result.hasMore).toBe(false);
|
|
69
|
+
expect(result.totalIsExact).toBe(true);
|
|
70
|
+
expect(result.total).toBe(2);
|
|
71
|
+
});
|
|
72
|
+
it('applies search, level, and date filters', async () => {
|
|
73
|
+
const filePath = await writeLogFile([
|
|
74
|
+
makeLogLine({
|
|
75
|
+
level: 'info',
|
|
76
|
+
message: 'bootstrap complete',
|
|
77
|
+
timestamp: '2026-01-01T00:00:00.000Z',
|
|
78
|
+
component: 'boot',
|
|
79
|
+
}),
|
|
80
|
+
makeLogLine({
|
|
81
|
+
level: 'error',
|
|
82
|
+
message: 'db failed',
|
|
83
|
+
timestamp: '2026-01-01T00:05:00.000Z',
|
|
84
|
+
component: 'database',
|
|
85
|
+
}),
|
|
86
|
+
makeLogLine({
|
|
87
|
+
level: 'error',
|
|
88
|
+
message: 'network retry',
|
|
89
|
+
timestamp: '2026-01-01T00:10:00.000Z',
|
|
90
|
+
component: 'network',
|
|
91
|
+
}),
|
|
92
|
+
]);
|
|
93
|
+
const result = await readFilteredLogEntriesPage(filePath, {
|
|
94
|
+
level: 'error',
|
|
95
|
+
search: 'db',
|
|
96
|
+
sinceMs: new Date('2026-01-01T00:02:00.000Z').getTime(),
|
|
97
|
+
untilMs: new Date('2026-01-01T00:08:00.000Z').getTime(),
|
|
98
|
+
}, { offset: 0, limit: 10 });
|
|
99
|
+
expect(result.entries.map((entry) => entry.message)).toEqual(['db failed']);
|
|
100
|
+
expect(result.hasMore).toBe(false);
|
|
101
|
+
expect(result.totalIsExact).toBe(true);
|
|
102
|
+
expect(result.total).toBe(1);
|
|
103
|
+
});
|
|
104
|
+
it('skips malformed lines and supports offset pagination', async () => {
|
|
105
|
+
const filePath = await writeLogFile([
|
|
106
|
+
makeLogLine({
|
|
107
|
+
level: 'info',
|
|
108
|
+
message: 'one',
|
|
109
|
+
timestamp: '2026-01-01T00:00:00.000Z',
|
|
110
|
+
}),
|
|
111
|
+
'{not-json}',
|
|
112
|
+
makeLogLine({
|
|
113
|
+
level: 'info',
|
|
114
|
+
message: 'two',
|
|
115
|
+
timestamp: '2026-01-01T00:00:01.000Z',
|
|
116
|
+
}),
|
|
117
|
+
makeLogLine({
|
|
118
|
+
level: 'info',
|
|
119
|
+
message: 'three',
|
|
120
|
+
timestamp: '2026-01-01T00:00:02.000Z',
|
|
121
|
+
}),
|
|
122
|
+
makeLogLine({
|
|
123
|
+
level: 'info',
|
|
124
|
+
message: 'four',
|
|
125
|
+
timestamp: '2026-01-01T00:00:03.000Z',
|
|
126
|
+
}),
|
|
127
|
+
]);
|
|
128
|
+
const result = await readFilteredLogEntriesPage(filePath, {}, { offset: 1, limit: 2 });
|
|
129
|
+
expect(result.entries.map((entry) => entry.message)).toEqual(['three', 'two']);
|
|
130
|
+
expect(result.hasMore).toBe(true);
|
|
131
|
+
expect(result.totalIsExact).toBe(false);
|
|
132
|
+
expect(result.total).toBe(4);
|
|
133
|
+
});
|
|
134
|
+
it('preserves UTF-8 characters split across chunk boundaries', async () => {
|
|
135
|
+
const timestamp = '2026-01-01T00:00:00.000Z';
|
|
136
|
+
const level = 'info';
|
|
137
|
+
const component = 'test-component';
|
|
138
|
+
let message = null;
|
|
139
|
+
for (let tailLength = 65_000; tailLength < 66_500; tailLength += 1) {
|
|
140
|
+
const candidate = `🙂${'a'.repeat(tailLength)}`;
|
|
141
|
+
const line = makeLogLine({ level, timestamp, component, message: candidate });
|
|
142
|
+
const lineBytes = Buffer.from(`${line}\n`, 'utf-8');
|
|
143
|
+
const emojiStart = lineBytes.indexOf(Buffer.from('🙂'));
|
|
144
|
+
if (emojiStart < 0) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const bytesFromEmojiStartToFileEnd = lineBytes.length - emojiStart;
|
|
148
|
+
if (bytesFromEmojiStartToFileEnd > 65_536 && bytesFromEmojiStartToFileEnd < 65_540) {
|
|
149
|
+
message = candidate;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
expect(message).not.toBeNull();
|
|
154
|
+
const filePath = await writeLogFile([
|
|
155
|
+
makeLogLine({ level, timestamp, component, message: message }),
|
|
156
|
+
]);
|
|
157
|
+
const result = await readFilteredLogEntriesPage(filePath, {}, { offset: 0, limit: 1 });
|
|
158
|
+
expect(result.entries).toHaveLength(1);
|
|
159
|
+
expect(result.entries[0]?.message).toBe(message);
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
//# sourceMappingURL=log-file-reader.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-file-reader.test.js","sourceRoot":"","sources":["../../../../src/backend/trpc/log-file-reader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,9 +38,9 @@ export declare const projectRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
38
38
|
};
|
|
39
39
|
output: {
|
|
40
40
|
workspaces: {
|
|
41
|
-
status: import("../../../prisma/generated/enums.js").WorkspaceStatus;
|
|
42
41
|
name: string;
|
|
43
42
|
prUrl: string | null;
|
|
43
|
+
status: import("../../../prisma/generated/enums.js").WorkspaceStatus;
|
|
44
44
|
updatedAt: Date;
|
|
45
45
|
createdAt: Date;
|
|
46
46
|
id: string;
|
|
@@ -78,10 +78,8 @@ export declare const projectRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
78
78
|
ratchetEnabled: boolean;
|
|
79
79
|
ratchetState: import("../../../prisma/generated/enums.js").RatchetState;
|
|
80
80
|
ratchetLastCheckedAt: Date | null;
|
|
81
|
-
ratchetLastPushAt: Date | null;
|
|
82
81
|
ratchetActiveSessionId: string | null;
|
|
83
82
|
ratchetLastCiRunId: string | null;
|
|
84
|
-
ratchetLastNotifiedState: import("../../../prisma/generated/enums.js").RatchetState | null;
|
|
85
83
|
hasHadSessions: boolean;
|
|
86
84
|
cachedKanbanColumn: import("../../../prisma/generated/enums.js").KanbanColumn;
|
|
87
85
|
stateComputedAt: Date | null;
|
|
@@ -110,9 +108,9 @@ export declare const projectRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
110
108
|
};
|
|
111
109
|
output: {
|
|
112
110
|
workspaces: {
|
|
113
|
-
status: import("../../../prisma/generated/enums.js").WorkspaceStatus;
|
|
114
111
|
name: string;
|
|
115
112
|
prUrl: string | null;
|
|
113
|
+
status: import("../../../prisma/generated/enums.js").WorkspaceStatus;
|
|
116
114
|
updatedAt: Date;
|
|
117
115
|
createdAt: Date;
|
|
118
116
|
id: string;
|
|
@@ -150,10 +148,8 @@ export declare const projectRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
150
148
|
ratchetEnabled: boolean;
|
|
151
149
|
ratchetState: import("../../../prisma/generated/enums.js").RatchetState;
|
|
152
150
|
ratchetLastCheckedAt: Date | null;
|
|
153
|
-
ratchetLastPushAt: Date | null;
|
|
154
151
|
ratchetActiveSessionId: string | null;
|
|
155
152
|
ratchetLastCiRunId: string | null;
|
|
156
|
-
ratchetLastNotifiedState: import("../../../prisma/generated/enums.js").RatchetState | null;
|
|
157
153
|
hasHadSessions: boolean;
|
|
158
154
|
cachedKanbanColumn: import("../../../prisma/generated/enums.js").KanbanColumn;
|
|
159
155
|
stateComputedAt: Date | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.trpc.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/project.trpc.ts"],"names":[],"mappings":"AA6DA,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"project.trpc.d.ts","sourceRoot":"","sources":["../../../../src/backend/trpc/project.trpc.ts"],"names":[],"mappings":"AA6DA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAtBT,MAAM;6BAAe,MAAM;yBAAW,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0N7D,CAAC"}
|